【发布时间】:2015-01-09 18:12:18
【问题描述】:
我的文件是 unicode。但是,出于某种原因,我想将其更改为纯 ascii,同时删除任何在 ascii 中无法识别的字符。例如,我想将 u'This is a string�' 更改为 'This is a string'。以下是我用来执行此操作的代码。
ascii_str = unicode_str.encode('ascii', 'ignore')
但是,我仍然收到以下烦人的错误。
UnicodeDecodeError: 'ascii' codec can't decode byte 0xf3 in position 0:
ordinal not in range(128)
我该如何解决这个问题?我对普通的 ascii 字符串很好。
【问题讨论】:
-
print repr(unicode_str)也请发布您的完整回溯 -
看看我的解决方案。我认为用正确的编码读取文件(如果有的话?)是处理这个问题的最佳起点。
-
我强烈推荐这个库来将 Unicode 转换为 ASCII:pypi.python.org/pypi/Unidecode
标签: python string unicode ascii unicode-string