[英]how to print the right character from unicode like "\\u201c借\\u201d東風" in python 3?
# coding=utf-8
import codecs
str_unicode = "\\u201c借\\u201d東風"
str_bytes = codecs.decode(str_unicode, 'unicode-escape')
print(str_bytes)
它在控制台打印“å”ä¸é£。
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 “借”東風
您沒有正確轉義字符,您有一個額外的\\
:
>>> print("\u201c借\u201d東風")
“借”東風
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
...
您可以在此鏈接上的 python 3 文檔中找到Unicode Python 3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.