|
|
当Python自动地编码/解码
在一些情况下,当Python自动地使用ASCII进行编码/解码的时候会抛出错误。
第一个案例是当它试着将Unicode和字节串合并在一起的时候。- >>> u"" + u"\u2019".encode("utf-8")
- Traceback (most recent call last):
- File "<stdin>", line 1, in <module>
- UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)
复制代码 在合并列表的时候会发生同样的情况。Python在列表里有string和Unicode对象的时候会自动地将字节串解码为Unicode。- >>> ",".join([u"This string\u2019s unicode", u"This string\u2019s utf-8".encode("utf-8")])
- Traceback (most recent call last):
- File "<stdin>", line 1, in <module>
- UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 11: ordinal not in range(128)
复制代码 |
|