将字节数组转换为字符串并返回

Converting a byte array to string and back

我的 python 后端使用这样的字节数组 '\x00k\x8bEg' 作为 ID。为了在我的 nodejs 前端正确显示它们,我使用下面的操作

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

这可能 return 返回看起来像这样的东西:006b8b4569

我想还原此操作并从我创建的字符串对象中取回我的原始 ID,以便能够 select 从字典中找到所需的项目。

我试过

raw_bytes = binascii.unhexlify('006b8b4569')

但结果不是我原来的ID

我怎样才能成功地来回执行此翻译?

你必须正确地反转这些步骤。

>>> 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