首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符集问题UTF-8

字符集问题UTF-8
EN

Stack Overflow用户
提问于 2016-03-16 06:02:49
回答 1查看 1.1K关注 0票数 0

我有一个文档,其中的单词“word”包含了如下所示的撇号。

当我试图通过python程序处理这个问题时,它会将单词显示为“mentioned”,并按照下面提到的错误退出。

代码语言:javascript
复制
UnicodeDecodeError: 'utf8' codec can't decode byte 0x92 in position 70: invalid start byte

我在记事本中打开了文档,并将编码从ANSI更改为UTF-8 (在网上找到),现在它工作正常。

但是,有人能说清楚,所有这些都是关于什么的,以及我如何用我的笔记本键盘输入那种撇号。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-16 09:47:06

著名的Word女士将引号转换为“智能引号”,这样它们就能正确地围绕单词或指向正确的方向作为撇号。

你并没有完全忠实于你的复制粘贴,所以很难确定我们是在谈论同样的事情。

例如,以下是与普通ascii相比的智能引号:

不与不

“你好”与“你好”

注意左边的智能引号是怎样的居中点。在截图中,将被映射到Unicode点U+2019 (‘右单引号’)。使用Windows键组合并键入Unicode值,您很难手动键入智能引号。

然后,您可能已经保存了此文本,如Windows1252(西欧)编码(又名ANSI),其中分配了字节0x92。然后,您将其加载到Python中,但传递了不正确的UTF-8编码。那时你就看到了例外。

将来处理这个问题的方法是在Python中打开文件时指定正确的编码。例如。

代码语言:javascript
复制
with io.open("myfile.txt", 'r', encoding="windows-1252") as my_file:
    my_data = my_file.read()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36027875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档