2 python unicode encode decode utf-8
如何将'dead'
字符串转换为unicode字符串u'\xde\xad'
?
这样做:
from binascii import unhexlify
out = ''.join(x for x in [unhexlify('de'), unhexlify('ad')])
Run Code Online (Sandbox Code Playgroud)
创建一个<type 'str'>
字符串'\xde\xad'
试图像这样使用Unicode.join():
from binascii import unhexlify
out = ''.join(x for x in [u'', unhexlify('de'), unhexlify('ad')])
Run Code Online (Sandbox Code Playgroud)
导致错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xde in position 0: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
Unicode旨在与Latin-1兼容,您可以使用它并简单地解码bytestring:
In [2]: unhexlify('dead').decode('latin1')
Out[2]: u'\xde\xad'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7188 次 |
最近记录: |