如何在Python 3中更改我的代码:
v = b'\x8c\x00'
' '.join([hex(i) for i in v])
这样'0x8c 0x0'变为'8c 00'
/百里
答案 0 :(得分:3)
v = b'\x8c\x00'
print(' '.join(['{:02x}'.format(i) for i in v]))
产量
8c 00
答案 1 :(得分:0)
(假设您使用的是Python 3.x。)
一种选择是使用binascii.hexlify()
转换为十六进制字符串,并在需要时在第二步中插入空格:
s = binascii.hexlify(v)
s = b" ".join(s[i:i + 2] for i in range(0, len(s), 2))
这将首先将s
设置为b'8c00'
,然后将b'8c 00'
设置为str
。如果您需要bytes
而不是s.decode("ascii")
,则可以使用{{1}}。