2017-10-12 18 views
3

파이썬 백엔드는 '\x00k\x8bEg'과 같은 바이트 배열을 ID로 사용합니다. 제대로 내 nodejs에서 프론트 엔드를 표시하기 위해 내가 다시 다음과 같습니다 뭔가를 반환 할 수 있습니다바이트 배열을 문자열로 변환하기

hex_data = binascii.hexlify('\x00k\x8bEg') 
text_string = hex_data.decode('utf-8') 

이 우는 본 작업을 사용 006b8b4569

나는이 작업을 되돌리고 다시 좀하고 싶습니다 내 사전에 원하는 항목을 선택할 수 있도록 내가 만든 문자열 개체의 원래 ID입니다.

나는
raw_bytes = binascii.unhexlify('006b8b4569') 

일을 시도했지만 결과는 내 원래 ID가 아닙니다.

이 번역을 앞뒤로 성공적으로 수행하려면 어떻게해야합니까?

답변

1

단계를 올바르게 반대로해야합니다.

>>> bytestream = b'\x00k\x8bEg' 
>>> hex_data = binascii.hexlify(bytestream) 
>>> str_data = hex_data.decode('utf-8') 
>>> str_data 
'006b8b4567' 
>>> binascii.unhexlify(str_data.encode('utf-8')) == bytestream 
True