日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IPv6格式转换(全写转简写)

發(fā)布時間:2023/12/31 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IPv6格式转换(全写转简写) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

有些需要支持ipv6的功能,在展示ip時當(dāng)然是展示簡寫ip,但是在收包的時候都是全寫ip,需要將其轉(zhuǎn)換:

# -*- coding=UTF-8 -*- def ipv6_trans(addr_v6):list_v = []for x in addr_v6.split(":"):if x == "0000" or x == "0":list_v.append("0")else:list_v.append(x.lstrip("0"))first, second = 0, 0for i in range(len(list_v)-1):if first == second and (list_v[i+1] != "0" or list_v[i] != "0"):continueelif first == second and list_v[i] == "0" and list_v[i+1] == "0":first, second = i, i+1elif list_v[i] == "0":second += 1else:breakif second == (len(list_v)-1) and list_v[-1] == "0":second += 1if first != second:a, b, c = list_v[0: first], list_v[first: second], list_v[second:]ret = ":".join(a) + "::" + ":".join(c)else:ret = ":".join(list_v)return retdef main():# ipv6 = "ff06:0:0:0:0:0:0:c3"ipv6_1 = "0000:ff06:0000:0000:0000:0000:0000:0000"ipv6_2 = "0000:0000:0000:0000:0000:0000:0000:0000"ipv6_3 = "ff02:0000:0000:0000:0000:0001:ff00:0001"ipv6_4 = "fd82:139b:8752:0000:246e:0031:888c:36db"ipv6_5 = "fd82:0000:8752:0000:0000:0031:888c:36db"ipv6_6 = "fd82:0000:0000:8752:0000:0031:888c:36db"ipv6_list = [ipv6_1, ipv6_2, ipv6_3, ipv6_4, ipv6_5, ipv6_6]for element in ipv6_list:print(ipv6_trans(element))if __name__ == '__main__':main()

輸出結(jié)果:

0:ff06:: :: ff02::1:ff00:1 fd82:139b:8752:0:246e:31:888c:36db fd82:0:8752::31:888c:36db fd82::8752:0:31:888c:36db

總結(jié)

以上是生活随笔為你收集整理的IPv6格式转换(全写转简写)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。