string.decode()与unicode(字符串)

Mel*_*oun 12 python string unicode decode

myString = 'éí??áé'
Run Code Online (Sandbox Code Playgroud)

我需要将此字符串解码为unicode.下面的用法和这两种方法之间有什么区别吗?

myString.decode(encoding='UTF-8', errors='ignore')
Run Code Online (Sandbox Code Playgroud)

unicode(myString, encoding='UTF-8', errors='ignore')
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 10

unicode构造函数可以从字符串除了采取其他类型的:

>>> unicode(10)
u'10'
Run Code Online (Sandbox Code Playgroud)

但是,对于bytestring情况,这两种形式大多是等效的.某些编码选项对unicode构造函数无效,因为它们不会导致unicode输出,但对于.decode字节串的方法有效,例如'hex':

>>> unicode('10', encoding='hex')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: decoder did not return an unicode object (type=str)
Run Code Online (Sandbox Code Playgroud)