IPv4 转 IPv6 IP 地址 同时支持 IPv4 数字格式转 IPv4 和 IPv6 转 IPv4 转换 说明 数字地址就是 IP 地址的一种:即 IP 地址的数字化形式, 在浏览器中访问 http://192.168.1.123 与 http://3232235899 是相同的效果。 IPv4 和 IPv6 之间的差异 IPv4(Internet 协议版本 4): 当前是主流 IP 地址,由 32 位组成。可以使用大约 43 亿个地址。 它表示为由 3 个点分隔的 4 个部分的集合,每个部分都有 8 位数据,称为八位位组。 例如:192.168.1.123 IPv6(Internet 协议版本 6): 基于 IPv4 平台开发的地址表示规则,以满足 IPv4 限制。 它由 128 位组成,数量有 2^128(约3.4×10^38)= 340282366920938463463374607431768211456 个。 IPv6 地址范围从 [0000:0000:0000:0000:0000:0000:0000:0000] 到 [ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff]。 例如:0000:0000:0000:0000:0000:ffff:c0a8:017b IPv4地址 转换成 Int数字 的方法如下: 例子:192.168.1.123 3 个点把 IP 地址分成 4 个数字,每个数字的范围都是 0 ~ 255,所以是每个数字是 8 bit, 总共 32 bit,4 个字节,刚好可以用无符号的数据类型 uint 表示。 具体计算过程如下: 192*256^3 + 168*256^2 + 1*256^1 + 123*256^0 = 3232235899 Int数字 转换成 IPv4地址 的方法如下: 例子:3232235899 具体计算过程如下: 3232235899 & 255,取低位的 1 个字节,得到 123 (3232235899 >> 8) & 255,先右移 8 bit,把原低 8 bit移除,再取低位的 1 个字节,得到 1 (3232235899 >> 16) & 255,先右移 16 bit,把原低 16 bit移除,再取低位的 1 个字节,得到 168 (3232235899 >> 24) & 255,先右移 24 bit,把原低 24 bit移除,再取低位的 1 个字节,得到 192 0 条用户评论 0 / 300 发表评论 当前仅支持登录用户评论,去登录