从文本fi读取时的Python编码问题

2024-06-16 10:44:57 发布

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

我正在读取一个包含单个单词B\xc3\xa9zier的文本文件。你知道吗

我希望将其转换为等效的解码utf-8格式,即Bézier,并将其打印到控制台。你知道吗

我的代码如下:

foo=open("test.txt")  
for line in foo.readlines():  
    for word in line.split():  
        print(word.decode('utf-8'))
foo.close()

输出为:

B\xc3\xa9zier

但是如果我这样做:

>>> print('B\xc3\xa9zier'.decode('utf-8'))

我得到了正确的输出:

Bézier

我不明白为什么会这样?你知道吗


Tags: inforfoo格式line解码单词utf
1条回答
网友
1楼 · 发布于 2024-06-16 10:44:57

似乎文件中有一个原始的utf8转义字符串,请使用string_escape对其进行解码

with open('test.txt') as f:
    for line in f:
        for word in line.split():
            print(word.decode('string_escape').decode('utf-8'))


Bézier

相关问题 更多 >