MACアドレスを変換しようとしていますが、
mac = '00:de:34:ef:2e:f4'
バイナリ形式に。そして、私が使用しているプログラムは、
mac = '00:de:34:ef:2e:f4'
r = mac.replace(':', '').decode('hex')
print r
しかし、このプログラムを実行すると奇妙な出力が得られ、出力は
$Ã$
私は何を間違っていますか?
MACアドレスを変換しようとしていますが、
mac = '00:de:34:ef:2e:f4'
バイナリ形式に。そして、私が使用しているプログラムは、
mac = '00:de:34:ef:2e:f4'
r = mac.replace(':', '').decode('hex')
print r
しかし、このプログラムを実行すると奇妙な出力が得られ、出力は
$Ã$
私は何を間違っていますか?
を使用したくないと思います。decode
これは、ユニコード変換やその他の不要なものを行います。ただ行う:
n = int(mac.replace(':', ''), 16)
これにより、MAC アドレスが数値に変換されます。で印刷して'%012x'%n
、16進数を取り戻します。
編集:
バイナリに変換したい場合は、bin(n)
.
でMACアドレスを取得したい場合:
":".join(textwrap.wrap("%012x" % (integer), width=2))