2011-02-10 10 views

答えて

6
import struct 
"%x:%x:%x:%x:%x:%x" % struct.unpack("BBBBBB",your_variable_with_mac) 
+3

%02x少しやや良い – PSS

-1

通常の16進数形式は人間が判読できないほどですか? (16進数にバイトを変換する方法についてsee this

de:ad:be:ef:ca:fe 

。なお、これはMACアドレスは、ほとんどのソフトウェアに表示されている方法です(Windowsだけではなくコロンのダッシュを使用しています)。

3

は、

addrは、あなたのバイト配列である
for b in addr: 
    print("%02x:" % (b)) 

を試してみてください。

7

使用する必要はありませんstruct

def prettify(mac_string): 
    return ':'.join('%02x' % ord(b) for b in mac_string) 

mac_stringがある場合が、bytearray(やPython 3でbytes)データの性質を与えられた文字列よりも自然な選択です、また、ord機能は必要ありません。

使用例:

>>> prettify(b'5e\x21\x00r3') 
'35:65:21:00:72:33' 
+0

素晴らしい素晴らしい答え、これ以上upvoteする必要があります。 –

関連する問題