Python:如何读取和解析unicode utf8文本文件?

2024-10-01 17:22:10 发布

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

我正在从Excel导出UTF-8文本,我想使用Python读取和解析传入的数据。我已经试过在网上读过这个例子:

 txtFile = codecs.open( 'halout.txt', 'r', 'utf-8' )
 for line in txtFile:
  print repr( line )

我得到的错误是:

UnicodeDecodeError:“utf8”编解码器无法解码位置0中的字节0xff:意外的代码字节

在Hex编辑器中查看文本文件,第一个值是FFFE,我也尝试过:

^{pr2}$

就在“打开”之后,但这只会导致另一个错误。在


Tags: 数据文本txtfor字节错误lineopen
3条回答

扩展Johnathan的注释,此代码应正确读取文件:

import codecs
txtFile = codecs.open( 'halout.txt', 'r', 'utf-16' )
for line in txtFile:
   print repr( line )

该文件不是UTF-8;而是UTF-16LE with a byte-order marker。在

那是一个BOM

编辑,从coments看来,它是一个utf-16 bom

codecs.open('foo.txt', 'r', 'utf-16')

应该行得通。在

相关问题 更多 >

    热门问题