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

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

这可能会返回如下内容:006b8b4569
我希望还原此操作并从我创建的字符串对象中获取原始ID,以便能够从字典中选择所需的项。
我试过了
raw_bytes = binascii.unhexlify('006b8b4569')

但结果不是我原来的身份证。
我怎样才能成功地前后翻译呢?

最佳答案

你得把这些步骤倒过来。

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

关于python - 将字节数组转换为字符串并返回,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46715504/

10-12 19:24