print u'\xe4\xf6\xfc'.encode('utf-8')
print unicode(u'\xe4\xf6\xfc')
追溯:
盲枚眉
Traceback (most recent call last):
File "D:\zjm_code\a.py", line 6, in <module>
print unicode(u'\xe4\xf6\xfc')
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
蟒蛇壳
>>>u"äöü".encode('utf-8')
Unsupported characters in input
最佳答案
在Python 2中:
情况a:(unicode对象).encode(somecodec)->字节字符串
情况b:(字节串).decode(somecodec)-> unicode对象
情况c:unicode(字节串,somecodec)-> unicode对象
情况b和c是相同的。在这三种情况中的每一种情况下,都可以省略编解码器名称:然后默认为ASCII解码器'ascii'
(仅支持128个ASCII字符-否则会出现异常)。
每当箭头左侧需要“字节字符串”时,您都可以传递unicode对象(使用“ ascii”编解码器进行转换)。
每当箭头左侧需要“ unicode”时,您都可以传递一个字节字符串(使用“ ascii”编解码器进行转换)。
关于python - “unicode”和“encode”之间是什么关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2025041/