2009-10-13 10 views
2

어떻게 'dead' 문자열을 유니 코드 문자열 u'\xde\xad'으로 변환 할 수 있습니까? 오류가16 진수 문자열에서 유니 코드로 변환

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

결과 :

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

이 같은 Unicode.join()를 사용하려고 <type 'str'> 문자열 '\xde\xad'

를 작성

이렇게

UnicodeDecodeError: 'ascii' codec can't decode byte 0xde in position 0: ordinal not in range(128) 

답변

5

:

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

this Python unicode how-to를 참조하고, 유사한 것을 사용 :

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

또는

unicode('\x80abc', errors='ignore') 
유니 코드, 당신은 그것을 사용하고 단순히 bytestring 디코딩 할 수 라틴어-1과 호환되도록 설계되어
관련 문제