我正在使用Python阅读包含以下行的文件
à è ì ò ù ç @ \U0001F914
其中\U0001F914
是表情符号的unicode代码。
如果将字符串解释为
string=string.decode('utf-8')
我明白了:
à è ì ò ù ç @ \U0001F914
如果我解释如下:
string=string.decode('unicode-escape')
我明白了:
à è ì ò ù ç @
我该如何打印:
à è ì ò ù ç @
我是初学者,所以请原谅我,如果我的问题很愚蠢,但我无法解决。
提前致谢。
答案 0 :(得分:1)
也许这不是最好的解决方案,但首先您可以encode
使用'unicode-escape'
而不是decode
来获得
data = 'à è ì ò ù ç @ \U0001F914'
print data.encode('unicode-escape')
\xe0 \xe8 \xec \xf2 \xf9 \xe7 @ \\U0001F914
然后你必须用\\
替换\
- 在Python中你需要\\\\
和\\
data = 'à è ì ò ù ç @ \U0001F914'
print data.encode('unicode-escape').replace('\\\\', '\\')
\xe0 \xe8 \xec \xf2 \xf9 \xe7 @ \U0001F914
然后您可以将decode
与'unicode-escape'
data = 'à è ì ò ù ç @ \U0001F914'
print data.encode('unicode-escape').replace('\\\\', '\\').decode('unicode-escape')
à è ì ò ù ç @
修改强>
您似乎必须在开头添加.decode('utf-8')
#-*- coding: utf-8 -*-
data = 'à è ì ò ù ç @ \U0001F914'.decode('utf-8')
result = data.encode('unicode-escape').replace('\\\\', '\\').decode('unicode-escape')
print result #.encode('utf-8')
答案 1 :(得分:0)
\ U0001F914超出了IDLE,Tk和大多数终端的可打印范围。