python - 从 mac 地址转换为十六进制字符串,反之亦然 - python 2 和 3

标签 python python-2.7 python-3.x mac-address dpkt

我有 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/

相关文章:

python - PyUSB dev.set_configuration()

Python:IDE 支持输出数据库查询,如 pandas 数据框

python - 每个月在 Pandas 中返回最后一个日期和值

python - 从 Linux 上的 Web 服务器在 Windows 上运行任务的最佳方式

python - 使用 Python 在 Mac 上自动化 Outlook

python - PyGTK:双击 CellRenderer

python - 获取字符之前和之后的字符串,然后将它们设置为变量 Python

python - 兄弟包导入

python - 无法导入名称 import_by_path

Python Netflix 查询