簡體   English   中英

使用\\ U表示法調試打印Unicode字符串

[英]Debug print Unicode string with \U notation

我有一本字典,其中包含帶Unicode字符的字符串:

d = {'middle': "middle is:\U0001f004."}

出於調試目的,我想打印d並使用相同的符號獲取輸出:

print(d)
{'middle': "middle is:\U0001f004."}

我怎么做?

為此,Python 3具有ascii函數。 ASCII字符集以外的任何字符都將顯示為轉義碼:

>>> d = {'middle': "middle is:\U0001f004."}
>>> d
{'middle': 'middle is:🀄.'}
>>> print(ascii(d))
{'middle': 'middle is:\U0001f004.'}

您可以編碼字典的字符串表示形式,然后使用unicode_escape進行編碼。 這將返回一個bytes對象,您將要再次對其進行解碼以獲取字符串。

d = {'middle': 'middle is:\U0001f004.'}
print(str(d).encode('unicode_escape').decode())

輸出:

{'middle': 'middle is:\U0001f004.'}

這應該適用於各種各樣的情況,但是一般來說,確保打印的字符串與用於創建任何數據結構的代碼匹配是不可能的。

輸出字符串時,請使用unicode_escape進行編碼,如下所示: string.encode('unicode_escape')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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