python读取文本文件返回奇怪的值

时间:2016-03-24 00:37:14

标签: python string encode

当我用python读取文本文件时,它返回奇怪的值。

例如,我的文件中有这个文字:

a_id

Python读取结果是:

'ÿþa\x00_\x00i\x00d\x00'

1 个答案:

答案 0 :(得分:1)

默认情况下,python中的open方法没有编码。

  

打开(文件,模式=' r',缓冲= -1,编码=无,错误=无,   newline = None,closefd = True,opener = None)

这样做:

with open('test.txt') as f:
    print(f.readlines())

将导致:

['þÿ\x00a\x00_\x00i\x00d']

要修复此问题,请添加正确的编码:

with open('test.txt', encoding='utf-16') as f:
    print(f.readlines())

会给你:

['a_id']