如何在Python中将空格分隔的十六进制字符串转换为字节?
空格分隔的十六进制字符串转字节对象
假设你有这么一个十六进制字符串:
A = "B8 B9 A5 C1"
要转换成对应的字节对象b'\xB8\xB9\xA5\xC1',有两种简单的实现方式:
方法一:用Python内置的bytes.fromhex()(推荐)
这个方法可以直接处理带空格的十六进制字符串,它会自动忽略空格这类分隔符,直接把字符串转换成字节对象:
A = "B8 B9 A5 C1" B = bytes.fromhex(A) print(B) # 输出:b'\xb8\xb9\xa5\xc1'
方法二:手动分割后转换
如果想自己控制处理过程,可以先把字符串按空格分割成单个十六进制片段,再逐个转成整数后组成字节对象:
A = "B8 B9 A5 C1" hex_fragments = A.split() B = bytes(int(frag, 16) for frag in hex_fragments) print(B) # 同样输出:b'\xb8\xb9\xa5\xc1'
两种方法都能得到你想要的结果,第一种更简洁高效,是优先推荐的写法。
内容的提问来源于stack exchange,提问作者Godrod
相关产品推荐
相关产品推荐

