gpt4 book ai didi

python - 为什么在 Python 2.7 中尝试打印字符串时出现错误?

转载 作者:行者123 更新时间:2023-11-28 22:56:20 26 4
gpt4 key购买 nike

我正在尝试使用

https://pypi.python.org/pypi/dbf

读取数据库文件。我正在尝试按如下方式打印记录:

for record in race_db:
print record

这给了我一个错误信息

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc9 in position 4: ordinal not in range(128)

所以我尝试映射到unicode

string_record = [unicode(item) for item in record]

同样的事情。 utf-8:

string_record = [unicode(item, "utf8") for item in record]

TypeError: coercing to Unicode: need string or buffer, datetime.date found

我只是想要一些对字符串进行排序的功能,我做错了什么?我知道我可以成功循环遍历所有记录,因为类似于:

print 'blah'

工作正常。只是编码中的某些东西让我感到困惑。

最佳答案

单字节 \xC9 不是 UTF-8 中任何内容的有效编码。您需要弄清楚文本当前是如何编码的——在这种情况下,很可能是 ISO 8859-1Windows-1252 .然后,相应地对其进行解码。

例如,如果它是 Windows-1252,您将按如下方式对其进行解码:

string_record = 'foo \xc9 bar'
print string_record.decode('Windows-1252') # Output: "foo É bar"

关于python - 为什么在 Python 2.7 中尝试打印字符串时出现错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15845665/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com