记录一下ipv4和ipv6与int互转通用处理方式,由于ipv6转的int比较大,因此需要使用big.Int来保存

package mainimport ("fmt""math/big""net/netip"
)func InetNtoA(ip *big.Int, ipv4 int64) string {if ip == nil {ip = new(big.Int).SetInt64(ipv4)}addr, ok := netip.AddrFromSlice(ip.Bytes())if ok {return addr.String()}return ""
}func InetAtoN(ip string) (*big.Int, int64, error) {addr, err := netip.ParseAddr(ip)if err != nil {return nil, 0, err}// ipv4和ipv6分两种情况,使调用方知道返回类型ipInt := new(big.Int).SetBytes(addr.AsSlice())if addr.Is4() {return nil, ipInt.Int64(), nil}return ipInt, 0, nil
}func main() {ipv6 := "fe80::21b:77ff:fbd6:7860"ipInt, ipv4, err := InetAtoN(ipv6)if err != nil {panic(err)}fmt.Println(ipInt, ipv4, InetNtoA(ipInt, ipv4))ip := "192.168.78.123"ipInt, ipv4, err = InetAtoN(ip)if err != nil {panic(err)}fmt.Println(ipInt, ipv4, InetNtoA(ipInt, ipv4))
}

ipv4和ipv6与int互转通用处理方式相关推荐

  1. python 编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址_Python编程常用技巧,你知道几个?...

    现在Python是个炙手可热的技能,很多人都想着入手学学Python编程,甚至包括一些知名人士,比如知名地产商潘石屹就开始学Python.关于Python编程的内容在网络上也非常多,本文虫虫给大家总结 ...

  2. IPv4与IPv6数据包格式

    https://blog.csdn.net/frank_jb/article/details/45093615 本文给出IPv4与IPv6数据报格式示意图,并整理了各个字段含义,最后对比IPv4与IP ...

  3. IPv4和IPv6的数据报结构头部详解

    IP数据报 1. IP数据报究竟是个什么鬼 IP是TCP'/IP协议族中的核心协议.所有UDP.TCP.ICMP和IGMP数据都是通过IP数据报传输.IP提供了一种尽力而为.无连接的数据报交付服务. ...

  4. 【PHP】关于IPv4、IPv6 的操作函数

    文章目录 格式验证 [IPv4/IPv6 manipulation library for PHP](https://github.com/rlanvin/php-ip) [python IPaddr ...

  5. IPV4与IPV6的区别(史上最详细)

    IPV4与IPV6的区别(史上最详细) 描述 IPv4 IPv6 地址 长度为 32 位(4 个字节).地址由网络和主机部分组成,这取决于地址类.根据地址的前几位,可定义各种地址类:A.B.C.D 或 ...

  6. Android 系统(241)---IPv4 or IPv6 优先

    IPv4 or IPv6 Prefer 如果apn的protocol设置为IPv4/IPv6的话,那么使用DNS解析某地址时,可能会同时返回IPv4和IPv6的地址. 但是某些服务端并未作好对IPv6 ...

  7. mysql如何高效存储IPv4、IPv6地址

    目录 一.IPv4简介 + 高效存储 二. IPv6简介 + 高效存储(兼容IPv4) 三.引用: 一.IPv4简介 + 高效存储 IPv4百度百科,简单地来说IPv4地址是一个4字节的无符号整数.为 ...

  8. Java根据IP地址/掩码位(CIDR)和起始IP-终止IP计算网段(IPV4和IPV6)

    Java根据IP地址/掩码位(CIDR)和起始IP-终止IP计算所有IP地址(IPV4和IPV6) 计算IP列表 IPV4 IPV6 IP校验 IPV4 IPV6 计算IP列表 IPV4 1.需要的j ...

  9. ipv4和ipv6连通性相关工具实例

    前言 方便以后相关数据查询需求,本人未设置过相关划分子网,子网掩码,网关,路由表等,因此篇仅是相关工具测验实例.针对平台linux和win,文中涉及的ip是我瞎写的.具体实验请根据需求更改. 搜索的话 ...

最新文章

  1. 2018, 自动驾驶异常艰难的一年
  2. http和ftp下载的区别
  3. Visual C# 3.0 新特性概览
  4. jenkis编译报错:需要class,interface或enum
  5. 使用eclipse开发web需要搭建什么环境
  6. [.NET] : 设定Windows Service启动类型
  7. 云瓣影音网站微信端(已开源)
  8. 重构Webpack系列之一 ---- 概念篇
  9. 国家统计局可以获取到全国5级行政区域数据
  10. 【通信电子电路】谐振功率放大电路multisim仿真
  11. 如何开发自己的VUE组件库并打包复用
  12. 有赞 WEB-UI 自动化实践
  13. onenote打开闪退平板_ipad pro 11英寸。onenote闪退 无法使用
  14. 新浪微博的Tab滑动效果
  15. 记一次修复Mac和Win7双系统启动菜单的经历
  16. java 视频边下边播_video src,如何边加载边播放?
  17. 《移动互联:用户体验设计指南》读书笔记4——移动UX模式
  18. 《蜂鸟摄影学院单反摄影宝典》读书笔记
  19. CHROME扩展笔记之设置代理(项目完成再上完整案例)
  20. 助力丽水市周安村“数字乡村”建设 ,复杂美区块链赋能农产品溯源营销

热门文章

  1. 配置NTP服务器进行时间同步
  2. yum安装php添加imap模块,php模块安装之imap
  3. Linux使用uinput实现虚拟鼠标
  4. grep、sed、awk高效文件处理3剑客
  5. 《Drools7.0.0.Final规则引擎教程》第4章 global全局变量
  6. solid works土炮模型建模
  7. python win32gui+pynput 自动回复qq消息
  8. 岭南师范学院计算机考试考场,广东专插本考场安排在哪?附:2018年考场详细安排表~...
  9. 海量数据常用十大解决方案
  10. 程序猿生存指南-34 我与清华