我有 MAC 地址,我想将其作为原始数据发送到 dpkt。
dpkt 包希望我将数据作为十六进制字符串传递。
因此,假设我有以下 mac 地址:'00:de:34:ef:2e:f4'
,写为:'00de34ef2ef4'
我想编码到类似 '\x00\xdeU\xef.\xf4'
的内容,反向翻译将提供原始数据。
在 Python 2 上,我发现了几种使用 encode('hex')
和 decode('hex') 的方法。
但是,此解决方案不适用于 Python 3。
我很难找到一个代码片段来支持这两个版本。
我会为此提供帮助。
谢谢
最佳答案
binascii
module适用于 Python 2 和 3:
>>> import binascii
>>> binascii.unhexlify('00de34ef2ef4') # to raw binary
b'\x00\xde4\xef.\xf4'
>>> binascii.hexlify(_) # and back to hex
b'00de34ef2ef4'
>>> _.decode('ascii') # as str in Python 3
'00de34ef2ef4'
关于python - 从 mac 地址转换为十六进制字符串,反之亦然 - python 2 和 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32461630/