Python将十六进制字符串转换为字节值

2024-10-02 20:40:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字节字符串:

output1 = 'fef00a01'

我正在尝试将其转换为字节:

output2 = b'\xfe\xf0\n\x01'

这不满足以下条件:

output1 == output2 # <--- returns False

我怎样才能让它回归真实


Tags: 字符串false字节条件returnsx01xfeoutput1
2条回答

显然,这很简单:

>>> bytes.fromhex(output1) 
b'\xfe\xf0\n\x01'

outpu1是表示十六进制值的字符串。您的比较总是会产生false,而无需进行某种转换(它们下面是两个不同的对象)。这类似于测试

基本上,您需要在比较之前将该字符串转换为字节。使用类似binascii的方法将十六进制字符串转换为实际字节,如下所示:

import binascii

output1 = binascii.unhexlify('fef00a01')

相关问题 更多 >