将字节数组转换为字符串并再次转换为字节数组

3

我的Python后端使用类似于'\x00k\x8bEg'这样的字节数组作为ID。为了在Node.js前端上正确显示它们,我使用如下操作:

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

这可能会返回类似于这样的东西:006b8b4569

我想撤销这个操作并从我创建的字符串对象中获取我的原始ID,以便能够从字典中选择所需的项。

我尝试过:

raw_bytes = binascii.unhexlify('006b8b4569')

但结果不是我的原始ID。

我如何成功地进行这种来回翻译?

1个回答

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接