Python 字符集问题UTF-8
我有一个文档,其中单词“not”包含撇号,如下所示 当我试图通过一个python程序来处理这个问题时,它会将单词显示为“dondsÆt”,并退出,错误如下所述Python 字符集问题UTF-8,python,python-2.7,utf-8,character-encoding,special-characters,Python,Python 2.7,Utf 8,Character Encoding,Special Characters,我有一个文档,其中单词“not”包含撇号,如下所示 当我试图通过一个python程序来处理这个问题时,它会将单词显示为“dondsÆt”,并退出,错误如下所述 UnicodeDecodeError: 'utf8' codec can't decode byte 0x92 in position 70: invalid start byte 我在记事本中打开了文档,并将编码从ANSI更改为UTF-8(可以在web上找到),现在它工作正常 但是有人能解释一下,所有这些都是关于什么的,我如何用我的
UnicodeDecodeError: 'utf8' codec can't decode byte 0x92 in position 70: invalid start byte
我在记事本中打开了文档,并将编码从ANSI更改为UTF-8(可以在web上找到),现在它工作正常
但是有人能解释一下,所有这些都是关于什么的,我如何用我的笔记本电脑键盘键入这种撇号。MS Word将引号转换为“智能引号”,以便它们正确地围绕单词或指向正确的方向作为撇号 你没有完全忠实于你的复制粘贴,所以很难确定我们谈论的是同一件事 例如,以下是与普通ascii相比的智能引号: 没有vs.没有 或 “你好”对“你好” 注意左边的智能引号是如何卷曲的。在您的屏幕截图中,
”
将被映射到Unicode点U+2019(“右单引号”)。使用Windows组合键并键入Unicode值,无法轻松手动键入智能引号
然后,您可能将此文本保存为Windows-1252(西欧)编码(又称ANSI),该编码分配了字节0x92
。然后,您将其加载到Python中,但传递了错误的UTF-8编码。那就是你看到例外的时候
将来处理这个问题的方法是在Python中打开文件时指定正确的编码。例如
with io.open("myfile.txt", 'r', encoding="windows-1252") as my_file:
my_data = my_file.read()
嗯,我希望你能把原文的“不”字贴出来,而不是一张图片。Python应该不会遇到ASCII撇号的问题。可能看起来像撇号的东西实际上是一个不同的非标准字符。