为什么用unicode字符打印文件不会产生emojis?

2024-10-03 13:25:43 发布

您现在位置:Python中文网/ 问答频道 /正文

文本文件的内容是

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'
⚾⚾⚾

问:为什么与文件内容相同的字符串能够正确生成表情符号?你知道吗


Tags: textimporttxt脚本内容readopenutf
2条回答

文件内容u'\u26be\u26be\u26be'类似于r"u'\u26be\u26be\u26be'"。换句话说,u\u2。。。你知道吗

可以使用^{}将此类字符串转换为字符串⚾⚾⚾

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')而不是⚾⚾⚾?也许你需要考虑重新设计文件保存部分。你知道吗

如果输入文件需要unicode转义,则需要按如下方式对其进行过滤:

with open("test1.txt", "r") as f1:
    text = f1.read()
    print unicode(text, 'unicode_escape')
    str1 = u'\u26be\u26be\u26be'
    print(str1)

不需要导入其他库。你知道吗

相关问题 更多 >