繁体   English   中英

从文本文件读取Python编码问题

[英]Python encoding issue in reading from text file

我正在阅读一个包含单个单词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

我不知道为什么会这样?

似乎您在文件中有一个原始的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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM