Python 无法将错误的 unicode 编码为 ascii

标签 python unicode

我有一些 Python 代码正在接收其中包含错误 unicode 的字符串。当我试图忽略不良字符时,Python 仍然会卡住(版本 2.6.1)。以下是重现它的方法:

s = 'ad\xc2-ven\xc2-ture'
s.encode('utf8', 'ignore')

它抛出

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

我做错了什么?

最佳答案

将字符串转换为 unicode 实例是 Python 2.x 中的 str.decode():

 >>> s.decode("ascii", "ignore")
 u'ad-ven-ture'

关于Python 无法将错误的 unicode 编码为 ascii,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6124897/

相关文章:

Python Pandas - 使用 to_sql 以 block 的形式写入大数据帧

javascript - 使用kafka-node消费消息时接收垃圾字符

android - 如何使用 HttpPost 发送日语字符

python selenium phantomjsexecute_script

python - 如何更改 Django 管理语言?

Python:正则表达式或字典

python - 无法发送包含西里尔字母的电子邮件

Python正则表达式与unicode字符错误?

c++ - 在 unicode C++ 应用程序中解析命令行参数

python - 在 python 类型提示中,如何使参数接受基类的任何子类?