我正在尝试转换mac地址,
mac = '00:de:34:ef:2e:f4'
成二进制格式。我正在使用的程序是,
mac = '00:de:34:ef:2e:f4'
r = mac.replace(':', '').decode('hex')
print r
但是当我运行这个程序时,我得到一个奇怪的输出,输出是
$Ã$
我做错了什么?
答案 0 :(得分:12)
我认为您不想使用decode
,它会执行unicode转换以及您不想要的其他内容。只是做:
n = int(mac.replace(':', ''), 16)
将您的mac地址转换为数字。使用'%012x'%n
打印它以恢复十六进制。
修改强>
如果您想转换为二进制文件,请执行bin(n)
。
答案 1 :(得分:3)
如果你想获得一个mac地址:
":".join(textwrap.wrap("%012x" % (integer), width=2))