# coding=utf-8
import codecs
str_unicode = "\\u201c借\\u201d东风"
str_bytes = codecs.decode(str_unicode, 'unicode-escape')
print(str_bytes)
在控制台上打印“å”ä¸é£。
答案 0 :(得分:1)
您没有正确转义字符,您有一个额外的\
:
>>> print("\u201c借\u201d东风")
“借”东风
答案 1 :(得分:1)
Francisco Couzo正确描述了您的问题。如果可以控制字符串,则应避免转义Unicode字符串中的引号字符。但是我猜测您实际上并没有真正将字符串写为文字,而是从外部源(如文件)获得的。
如果您的Unicode字符串中已经包含多余的转义字符,则可以通过以下方式解决此问题:首先对数据进行编码(使用str.encode
),然后从已编码的字符中去除多余的反斜杠,然后最后再次解码:
str_unicode = "\\u201c借\\u201d东风" # or somefile.read(), or whatever
fixed = str_unicode.encode('unicode-escape').replace(b'\\\\', b'\\').decode('unicode-escape')
print(fixed) # prints “借”东风
答案 2 :(得分:-2)
Unicode标准包含许多表,这些表列出了字符及其相应的代码点:
0061 'a'; LATIN SMALL LETTER A
0062 'b'; LATIN SMALL LETTER B
0063 'c'; LATIN SMALL LETTER C
...
007B '{'; LEFT CURLY BRACKET
...
2167 'Ⅶ': ROMAN NUMERAL EIGHT
2168 'Ⅸ': ROMAN NUMERAL NINE
...
265E '♞': BLACK CHESS KNIGHT
265F '♟': BLACK CHESS PAWN
...
1F600 '': GRINNING FACE
1F609 '': WINKING FACE
...
您可以在此链接Unicode Python 3上找到有关python 3文档的信息