【发布时间】:2025-09-29 02:35:02
【问题描述】:
我想知道是否有任何手动方法可以在不使用转换计算器或工具的情况下将 IPv4 地址转换为 IPv6 地址。例如:
我有一个 IPv4 地址,它是这样给出的:
129.130.100.11
当它被转换时,答案是:
0::FFFF:8182:640B
是否有任何公式用于执行这种转换?
任何帮助都会很好。
【问题讨论】:
我想知道是否有任何手动方法可以在不使用转换计算器或工具的情况下将 IPv4 地址转换为 IPv6 地址。例如:
我有一个 IPv4 地址,它是这样给出的:
129.130.100.11
当它被转换时,答案是:
0::FFFF:8182:640B
是否有任何公式用于执行这种转换?
任何帮助都会很好。
【问题讨论】:
对于 IPv6,八位字节通常表示为十六进制数字,而 IPv4 使用十进制。所以,一个极其简化的方法是首先将每个十进制八位字节(8 位)转换为十六进制:
129 becomes 81
130 becomes 82
100 becomes 64
11 becomes 0B
然后在前两个和后两个八位字节之间用冒号连接结果:
8182:640B
并在字符串前面加上::FFFF::
::FFFF:8182:640B
然而,IPv6 地址有几种不同的格式。我在上面省略了这些,因为您可以看到它们都包含某种类型的十进制 - 十六进制转换和一些简单的字符串格式。其他选择包括:
【讨论】:
虽然另一个答案也是正确的,但有效的 IPv6 地址也可能以十进制 rts 结尾,正是为了提供这种东西。
你可以写
::FFFF:129.130.100.11
你就完成了。
【讨论】: