数据类型转换(计算mac地址)

Posted Frankiee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据类型转换(计算mac地址)相关的知识,希望对你有一定的参考价值。

[[email protected] test1]# vim 19.py
//add
#!/usr/bin/python

macaddr = ‘00:0C:29:D1:6F:E9‘
prefix_mac = macaddr[:-3]
last_two = macaddr[-2:]
plus_one = int(last_two, 16) + 1
new_last_two = hex(plus_one)[2:]
new_mac = prefix_mac + ‘:‘ + new_last_two
print new_mac.upper()

/* 
    prefix_mac -- 定义mac地址的前缀,要保持前五位不变 [:-3] --从开头取到倒数第三位(冒号也算一位)

    last_two -- 先取最后的两位 ,[-2:]  从倒数第二位一直取到最后

    因为mac地址为16进制,要将其转换为10进制 --plus_one 然后要加1 --得到新的

    然后再把这个新的 16进制 转换为 10进制 -- 有时会打印0x(则表示16进制)
                 -- new_last_two -- [2:]从第三个取到最后

    new_mac --新的地址 ,就是把前缀加上最后计算的两位,利用冒号来连接

    upper() -- 此函数可把 小写字母 变成 大写字母 

*/

[[email protected] test1]# python 19.py
00:0C:29:D1:6F:EA
    

 

/* 上面的只是针对某个mac地址写的脚本
 
    当有什么不一样的地方,可以先通过进入python状态进行测试,

    找到了好的解决方法,再写入脚本中进行显示

*/

 

 

/* 
    如果 最尾两位为01 ,当转换后 0不会显示, 会显示 1.

    解决方法:
*/

[[email protected] test1]# vim 19.py
//add
#!/usr/bin/python

macaddr = ‘00:0C:29:D1:6F:01‘
prefix_mac = macaddr[:-3]
last_two = macaddr[-2:]
plus_one = int(last_two, 16) + 1
if plus_one in range(10):
    new_last_two = hex(plus_one)[2:]
    new_last_two = ‘0‘ + new_last_two
else:
    new_last_two = hex(plus_one)[2:]
new_mac = prefix_mac + ‘:‘ + new_last_two
print new_mac.upper()

 

/* 如果最后两位为 0A,则下一个应该为B0,但是0又没办法取到

    解决方法:

*/

[[email protected] test1]# vim 19.py
//add
#!/usr/bin/python

macaddr = ‘00:0C:29:D1:6F:0A‘
prefix_mac = macaddr[:-3]
last_two = macaddr[-2:]
plus_one = int(last_two, 16) + 1
if plus_one in range(10):
    new_last_two = hex(plus_one)[2:]
    new_last_two = ‘0‘ + new_last_two
else:
    new_last_two = hex(plus_one)[2:]
        if len(new_last_two) == 1:
            new_last_two = ‘0‘ + new_last_two
new_mac = prefix_mac + ‘:‘ + new_last_two
print new_mac.upper()

 

以上是关于数据类型转换(计算mac地址)的主要内容,如果未能解决你的问题,请参考以下文章

Python 基础语法

计算机网络之数据链路层协议总结

在代码片段中包含类型转换

在C语言中,如何将字符串“192.168.1.1”转换成MAC地址或IP地址?

在 Swift for Mac 上,BLE 的数据类型转换

JS的数据类型判断函数数组对象结构处理日期转换函数,浏览器类型判断函数合集