繁体   English   中英

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

[英]Python convert hex string to byte value

我有这个字节串:

output1 = 'fef00a01'

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

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

这不满足条件:

output1 == output2 # <--- returns False

我怎样才能让它返回True?

outpu1是表示十六进制值的字符串。 如果没有某种转换,您的比较将始终产生false (它们是下面的两个不同对象)。 这类似于测试'123' == 123

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

import binascii

output1 = binascii.unhexlify('fef00a01')

显然,这很简单:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM