【问题标题】:Python: how to parse non-ASCII characters in stringPython:如何解析字符串中的非 ASCII 字符
【发布时间】:2019-10-15 09:53:00
【问题描述】:

在我的 Python 脚本中,我试图读取一个文本文件,该文件包含带有人们名字和姓氏的列,其中一些包含非 ASCII 字符,例如 ñ。但是当我这样做时,我得到了错误UnicodeDecodeError: 'utf8' codec can't decode byte 0x96 in position 66

根据我在网上阅读的内容,我知道您可以通过忽略或删除非 ASCII 字符来解决此问题,但我不想这样做。有没有一种直接的方法可以将文件中的所有非 ASCII 字符转换为普通字符串?

目前,我正在使用infile = open(filename, 'rU') 打开我的文件。

不重复问题:我问的是如何读取包含 unicode 字符的文件,而不是如何将 unicode 字符串写入文件。

【问题讨论】:

标签: python encoding character-encoding python-unicode


【解决方案1】:
  1. 制作文件的副本。
  2. 确保您的文件是 unicode 格式,并找出它使用的 unicode 格式。像geany 这样的一些简单的编辑器可以帮助您找到在创建文件时使用的正确编码。如果文件很大,请拆分文件并由编辑处理其中的一部分。
  3. 使用正确的编码(可能是旧的 cp 编码)打开文件并将文件转换为 utf8。或使用工具(如编辑器)将其转换为 utf8

【讨论】:

    猜你喜欢
    • 2016-05-22
    • 1970-01-01
    • 2017-04-13
    • 2015-02-27
    • 1970-01-01
    • 2018-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多