在python中我有一个unicode转义序列,它最初是chinease文本的一部分。我正在尝试正确显示它(转换为Unicode字符串)。 搜索SO我尝试了几种方法,但没有一种方法可行 这就是我得到的:
import re
import codecs
import urllib
ESCAPE_SEQUENCE_RE = re.compile(r'''
( \\U........ # 8-digit hex escapes
| \\u.... # 4-digit hex escapes
| \\x.. # 2-digit hex escapes
| \\[0-7]{1,3} # Octal escapes
| \\N\{[^}]+\} # Unicode characters by name
| \\[\\'"abfnrtv] # Single-character escapes
)''', re.UNICODE | re.VERBOSE)
def decode_escapes(s):
def decode_match(match):
return codecs.decode(match.group(0), 'unicode-escape')
return ESCAPE_SEQUENCE_RE.sub(decode_match, s)
print(decode_escapes('\u6240\u8BF7\u6C42\u7684\u8FD4\u7A0B\u65E5'))
尝试执行此代码将失败,并显示以下错误:
Traceback (most recent call last):
File "Test.py", line 21, in <module>
print(decode_escapes('\u6240\u8BF7\u6C42\u7684\u8FD4\u7A0B\u65E5'))
File "C:\Python27\lib\encodings\cp437.py", line 12, in encode
return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-6: character maps to <undefined>
最后它应该是这样的:
所请求的返程日
你能建议我能做些什么来看正确的字符串吗?