【发布时间】:2012-02-21 16:28:00
【问题描述】:
如何在 Python 3 中更改我的代码:
v = b'\x8c\x00'
' '.join([hex(i) for i in v])
这样'0x8c 0x0'变成'8c 00'
/巴里
【问题讨论】:
-
[hex](i)不是有效代码。你是说hex(i)吗?
标签: python python-3.x
如何在 Python 3 中更改我的代码:
v = b'\x8c\x00'
' '.join([hex(i) for i in v])
这样'0x8c 0x0'变成'8c 00'
/巴里
【问题讨论】:
[hex](i) 不是有效代码。你是说hex(i) 吗?
标签: python python-3.x
v = b'\x8c\x00'
print(' '.join(['{:02x}'.format(i) for i in v]))
产量
8c 00
【讨论】:
(假设您使用的是 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")。
【讨论】: