Python 将十六进制字符串转换为字节值
Python convert hex string to byte value
我有这个字节串:
output1 = 'fef00a01'
我正在尝试将其转换为字节:
output2 = b'\xfe\xf0\n\x01'
这不满足条件:
output1 == output2 # <--- returns False
我怎样才能做到 return 正确?
outpu1
是表示十六进制值的字符串。你的比较总是会产生 false
而无需某种转换(它们是下面的两个不同对象)。这类似于测试 '123' == 123
.
基本上,您需要在比较之前将该字符串转换为字节。使用类似 binascii
的方法将十六进制字符串转换为实际字节,如下所示:
import binascii
output1 = binascii.unhexlify('fef00a01')
显然,很简单:
>>> bytes.fromhex(output1)
b'\xfe\xf0\n\x01'
我有这个字节串:
output1 = 'fef00a01'
我正在尝试将其转换为字节:
output2 = b'\xfe\xf0\n\x01'
这不满足条件:
output1 == output2 # <--- returns False
我怎样才能做到 return 正确?
outpu1
是表示十六进制值的字符串。你的比较总是会产生 false
而无需某种转换(它们是下面的两个不同对象)。这类似于测试 '123' == 123
.
基本上,您需要在比较之前将该字符串转换为字节。使用类似 binascii
的方法将十六进制字符串转换为实际字节,如下所示:
import binascii
output1 = binascii.unhexlify('fef00a01')
显然,很简单:
>>> bytes.fromhex(output1)
b'\xfe\xf0\n\x01'