gpt4 book ai didi

python - 如何打开其中包含表情符号的文本文件?

转载 作者:行者123 更新时间:2023-12-05 08:57:27 27 4
gpt4 key购买 nike

我正在尝试做最简单的事情,打开一个文件,在 python 中读取和关闭它。简单的。这是代码:

name_file = open("Forever.txt", encoding='UTF-8')
data = name_file.read()
name_file.close()

print (data)

我知道这个文本里面有表情符号,比如心等。问题是这个表情符号不是像 U+2600 这样的 unicode 语法,它们被放置为小图像。我认为以下错误是因为这个小图片:

return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\U0001f681' in
position 2333: character maps to <undefined>

我尝试了以下方法,但没有指定编码:

name_file = open("Forever.txt")

然后错误变成了这样:

UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 2303: character maps to <undefined>

不知道为什么会这样。

也许一种解决方案是将所有正在测试的内容保存在一个变量中并删除其余的...嗯。

最佳答案

您收到 UnicodeEncodeError,可能来自您的 print 语句。该文件正在被正确读取和解释,但您只能打印您的控制台编码和字体实际支持的字符。该错误表明当前编码不支持该字符。

例如:

Python 3.3.5 (v3.3.5:62cf4e77f785, Mar  9 2014, 10:35:05) [MSC v.1600 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print('\U0001F681')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\\Python33\lib\encodings\cp437.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\U0001f681' in position 0: character maps to <undefined>

但是打印一个终端编码支持的字符,它起作用了:

>>> print('\U000000E0')
à

我的控制台编码是 cp437,但如果我使用支持 UTF-8 编码的 Python IDE,那么它可以工作:

>>> print('\U0001f681')
🚁

您可能会也可能不会正确地看到字符。您需要使用支持该字符的字体;否则,你会得到一些默认的替换字符。

关于python - 如何打开其中包含表情符号的文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32232556/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com