将十六进制MAC地址转换为用户可读格式(Python)

4

我从socket接收到的MAC地址格式如下:

0024e865a023(使用received-string.encode("hex")将二进制转换为十六进制)

我想将其转换为用户可读的格式,如下所示:

00-24-e8-65-a0-23

有没有简单的方法可以实现?

1个回答

6

您可以将MAC地址拆分成每个块的数组,然后在-上连接它们:

mac = '0024e865a023'
blocks = [mac[x:x+2] for x in xrange(0, len(mac), 2)]
macFormatted = '-'.join(blocks)

只是在range前面加上x太多了,但是编辑至少需要6个字符... ;) - Johannes Knust
@John 不确定你在说什么;如果你遇到的问题是这个,那么 xrange 在 Python 3 中就是 range。他们将 xrange 重命名为 range 并且删除了旧版本的 range - Michael Mrozek
没错。我之前没有使用过Python 2,在一开始我还以为这是打字错误。不管怎样,这也解决了我的问题。谢谢! - Johannes Knust

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接