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/

10-12 01:28
查看更多