使用\ U表示法调试打印Unicode字符串

时间:2018-12-04 14:19:01

标签: python python-3.x unicode character-encoding

我有一个字典,其中包含带Unicode字符的字符串:

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

出于调试目的,我想打印d并使用相同的符号获得输出:

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

我该怎么做?

3 个答案:

答案 0 :(得分:2)

Python 3为此具有systemctl status shadowsocks-libev.service 函数。 ASCII字符集以外的任何字符都将显示为转义码:

ascii

答案 1 :(得分:1)

您可以对字典的字符串表示形式进行编码,然后使用unicode_escape对其进行编码。这将返回一个bytes对象,您将要再次对其进行解码以获取字符串。

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

输出:

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

这应该适用于各种各样的情况,但是通常来说,确保打印的字符串与用于创建任何数据结构的代码匹配是不可能的。

答案 2 :(得分:0)

输出字符串时,请用unicode_escape对其进行编码,如下所示:string.encode('unicode_escape')