MAC地址到二进制位转换

时间:2012-09-14 18:59:31

标签: python binary mac-address hex

我正在尝试转换mac地址,

mac = '00:de:34:ef:2e:f4'  

成二进制格式。我正在使用的程序是,

mac = '00:de:34:ef:2e:f4'
r = mac.replace(':', '').decode('hex')  
print r

但是当我运行这个程序时,我得到一个奇怪的输出,输出是

$Ã$

我做错了什么?

2 个答案:

答案 0 :(得分:12)

我认为您不想使用decode,它会执行unicode转换以及您不想要的其他内容。只是做:

n = int(mac.replace(':', ''), 16)

将您的mac地址转换为数字。使用'%012x'%n打印它以恢复十六进制。

修改

如果您想转换为二进制文件,请执行bin(n)

答案 1 :(得分:3)

如果你想获得一个mac地址:

":".join(textwrap.wrap("%012x" % (integer), width=2))