Python 关于字符串转化的问题

在Python 2.6下,执行这两句话 “u'中文'.encode('utf-8')”,
“'中文'.encode('utf-8')”,第一句话可以正常输出,而第二句话报错,UnicodeDecodeError: 'ascii' codec can't decode byte 0xd6 in position 0: ordinal
not in range(128),请问这是为什么?应该如何修改呢?

1个回答

在3.0之前,默认字符集是ascii,加上u显式修饰,才知道是unicode字符集.
现在是2.6版本,那么‘中文’默认是ascii字符集,但是它监测到它的编码值不在ascii码的0-128范围内,因此报错。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!