我有一个包含多字节数据的日志文件()。我想编写一个对其进行一些数据操作的脚本。
with open(fo, encoding="cp1252") as file:
for line in file:
print(line)
if("WINDOWS" in line):
print(found)
每个字符后面都有一个额外的字节。由于WINDOWS
不是多字节,这不起作用。我无法找到解决方案。有人可以在这里帮助我吗?
我有一个包含多字节数据的日志文件()。我想编写一个对其进行一些数据操作的脚本。
with open(fo, encoding="cp1252") as file:
for line in file:
print(line)
if("WINDOWS" in line):
print(found)
每个字符后面都有一个额外的字节。由于WINDOWS
不是多字节,这不起作用。我无法找到解决方案。有人可以在这里帮助我吗?
cp1252
不是多字节编码。如果文件实际上包含 UTF-16,但其中大部分都在 Unicode 的最低范围内,则使用cp1252
将产生大致正确的字符,但它们之间会有零(空)字节。如果没有文件中字节的明确样本,我们只能推测;但尝试使用 . 打开文件encoding='utf-16le'
。(如果失败,请编辑您的问题以repr()
在文件中包含十六进制转储或二进制字节;另请参阅有关解码错误的问题问题)