python - 为什么打印带有 unicode 字符的文件不会生成表情符号?

标签 python unicode

文本文件的内容是

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/

相关文章:

Python:使用 "with"打开压缩或解压缩文件

python - 什么时候应该使用 tf.train.BytesList、tf.train.FloatList 和 tf.train.Int64List 将数据存储在 tf.train.Feature 中?

python - Rpy2 在安装时找不到我的 R 库

python - 使用 Cairo 渲染器的 Matplotlib Unicode 轴标签

delphi - D2010的更新真的有意义吗

python - 如何在 python 中找到最接近的等于或大于 10 的倍数

python - 更改字符串中的二进制字符

objective-c - NSString - Unicode 到 ASCII 等价物

c++ - Windows 上 C++ 中的 Unicode 搜索不区分大小写

Javascript 统一码 : same letters but different unicode