有人知道为什么字符串转换函数会在错误="忽略"传递时抛出异常吗?如何在不抛出错误的情况下将常规Python字符串对象转换为unicode?非常感谢!
python -c "import codecs; codecs.open('tmp', 'wb', encoding='utf8', errors='ignore').write('?????')"
Run Code Online (Sandbox Code Playgroud)
返回
Traceback(最近一次调用last):
文件"",第1行,在
文件"/usr/lib/python2.6/codecs.py",第686行,写入
返回self.writer.write(data)
文件"/ usr/lib/python2.6/codecs.py",第351行,写入
数据,消耗= self.encode(object,self.errors)
UnicodeDecodeError:'ascii'编解码器无法解码位置0中的字节0xd0:序数不是在范围内(128)
编辑 - 感谢您的回复,但有没有人知道如何转换上面的文字,而不是使用"u"前缀?原因是你当然可以处理一些不是常数的东西:)
在Python 2.x中使用write('\xd0\xba\xd0\xbe\xd1\x88\xd0\xba\xd0\xb0'.decode('utf-8')而不是write('\xd0\xba\xd0 \xbe\xd1\x88\xd0\xba\xd0\xb0')。
\n\n您也可以使用其他编码来代替“utf-8”。
\n\n希望它不会抛出任何错误......
\n| 归档时间: |
|
| 查看次数: |
3731 次 |
| 最近记录: |