【发布时间】:2012-08-15 11:21:59
【问题描述】:
问题:我需要将一个字符串转换成十六进制,然后格式化十六进制输出。
tmp = b"test"
test = binascii.hexlify(tmp)
print(test)
输出:b'74657374'
我想将此十六进制输出格式化为如下所示:74:65:73:74
我遇到了障碍,不知道从哪里开始。我确实想过将输出再次转换为字符串,然后尝试对其进行格式化,但必须有更简单的方法。
任何帮助将不胜感激,谢谢。
===========
操作系统:Windows 7
tmp = "test"
hex = str(binascii.hexlify(tmp), 'ascii')
print(hex)
formatted_hex = ':'.join(hex[i:i+2] for i in range(0, len(hex), 2))
print(formatted_hex
[错误] 回溯(最近一次通话最后): 文件“C:\pkg\scripts\Hex\hex.py”,第 24 行,在 十六进制 = str(binascii.hexlify(tmp),'ascii') TypeError: 'str' 不支持缓冲区接口
此代码仅在使用 tmp = b'test' 时有效,我需要能够以时尚的方式使用 tmp = importString,因为我从文件顺序中将另一个值传递给它,以便我的 sn-p 工作。有什么想法吗?
【问题讨论】:
标签: python-3.x hex