我怎么可以转换的 'dead' 串到unicode字符串 u'\xde\xad'?

这样做:

from binascii import unhexlify
out = ''.join(x for x in [unhexlify('de'), unhexlify('ad')])

创建一个 <type 'str'> 字符串 '\xde\xad'

试图使用Unicode。join()这样的:

from binascii import unhexlify
out = ''.join(x for x in [u'', unhexlify('de'), unhexlify('ad')])

结果在一个错误:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xde in position 0: ordinal not in range(128)
有帮助吗?

解决方案

Unicode的是设计可兼容与拉丁美洲-1,可以使用,并简单解字节字符串:

In [2]: unhexlify('dead').decode('latin1')
Out[2]: u'\xde\xad'

其他提示

看看 这Python unicode如何, 和使用的一些类似:

unicode('\x80abc', errors='replace')

unicode('\x80abc', errors='ignore')
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top