簡體   English   中英

如何在python 3中從unicode中打印正確的字符,如“\\\“借\\\”東風”?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM