2

我正在尝试转换一个mac地址,

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

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

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

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

美元

我究竟做错了什么?

4

2 回答 2

12

我认为您不想使用decodeunicode 转换和其他您不想要的东西。做就是了:

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

这会将您的mac地址转换为数字。打印它'%012x'%n以获取十六进制。

编辑:

如果要转换为二进制,则只需执行bin(n).

于 2012-09-14T19:04:25.103 回答
3

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

":".join(textwrap.wrap("%012x" % (integer), width=2))
于 2016-04-25T14:34:05.723 回答