文本文件的内容是
u'\u26be\u26be\u26be'
当我运行脚本时...
import codecs
f1 = codecs.open("test1.txt", "r", "utf-8")
text = f1.read()
print text
str1 = u'\u26be\u26be\u26be'
print(str1)
我得到输出...
u'\u26be\u26be\u26be'
⚾⚾⚾
问题:为什么一个和文件内容相同的字符串就可以正常生成表情包?
最佳答案
文件内容 u'\u26be\u26be\u26be'
类似于 r"u'\u26be\u26be\u26be'"
。也就是说,u
, \
, u
, 2
, ...
您可以使用 ast.literal_eval
将此类字符串转换为字符串 ⚾⚾⚾
:
import ast
import codecs
with codecs.open("test1.txt", "r", "utf-8") as f1:
text = ast.literal_eval(f1.read())
print text
...
但是,为什么文件包含这样的字符串 (u'\u26be\u26be\u26be'
) 而不是 ⚾⚾⚾
?也许你需要考虑重新设计文件保存部分。
关于python - 为什么打印带有 unicode 字符的文件不会生成表情符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31725918/