2017-10-12 116 views
3

我的python后端使用像'\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 
相关问题