在CP-1252ANSI读取上的Python 3扼流圈

在CP-1252ANSI读取上的Python 3扼流圈,第1张

在CP-1252 / ANSI读取上的Python 3扼流圈

在Windows-1252(aka cp1252)中未分配位置0x81。它在Latin-1(aka ISO 8859-1)中分配给U + 0081 HIGH
OCTET PRESET(HOP)控制字符。我可以像这样在Python 3.1中重现您的错误:

>>> b'x81'.depre('cp1252')Traceback (most recent call last):  ...UnipreDepreError: 'charmap' prec can't depre byte 0x81 in position 0: character maps to <undefined>

或带有实际文件

>>> open('test.txt', 'wb').write(b'x81n')2>>> open('test.txt').read()Traceback (most recent call last):  ...UnipreDepreError: 'utf8' prec can't depre byte 0x81 in position 0: unexpected pre byte

现在将此文件视为Latin-1,您可以传递

encoding
参数,例如preape建议:

>>> open('test.txt', encoding='latin-1').read()'x81n'

注意Windows-1257和Latin-1编码之间存在差异,例如Latin-1没有“智能引号”。如果您正在处理的文件是文本文件,请问自己x81在其中执行的 *** 作。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5646996.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存