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

を使用したくないと思います。decodeこれは、ユニコード変換やその他の不要なものを行います。ただ行う:

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

これにより、MAC アドレスが数値に変換されます。で印刷して'%012x'%n、16進数を取り戻します。

編集:

バイナリに変換したい場合は、bin(n).

于 2012-09-14T19:04:25.103 に答える
3

でMACアドレスを取得したい場合:

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