精易论坛

标题: 关于IP地址,编码转换! [打印本页]

作者: 刘玮    时间: 2025-5-19 09:28
标题: 关于IP地址,编码转换!

这是一IP地址:[color=var(--sys-color-token-tag)]registerIp: [color=var(--sys-color-token-property-special)]"240e:3b4:501c:3760:5c95:f614:3dc1:a33f"
请老师看看,如何转换成正常数字


作者: zainex    时间: 2025-5-19 09:28
这是 IPv6,像 192.186.1.1 这种是 IPv4,就不是一个东西,不是编码与解码的关系,因此不能实现你想象中的那种互转。
如果你只是想把IPv6里面的十六进制变成十进制的,那倒是能实现的:
.支持库 RegEx
.支持库 spec

.程序集 窗口程序集_启动窗口

.子程序 __启动窗口_创建完毕
.局部变量 文本, 文本型
.局部变量 正则, 正则表达式
.局部变量 搜索结果, 搜索结果, , "0"
.局部变量 数, 整数型
.局部变量 成员, 文本型
.局部变量 结果, 文本型

文本 = “240e:3b4:501c:3760:5c95:f614:3dc1:a33f”
正则.创建 (“[^:]+”, )
搜索结果 = 正则.搜索全部 (文本)
.计次循环首 (取数组成员数 (搜索结果), 数)
    成员 = 搜索结果 [数].取匹配文本 (文本, )
    成员 = 取文本右边 (“00000” + 到文本 (进制_十六到十 (成员)), 5)
    结果 = 结果 + 成员 + “:”
.计次循环尾 ()
结果 = 取文本左边 (结果, 取文本长度 (结果) - 1)
调试输出 (结果)
[/e]

作者: tj5523    时间: 2025-5-19 09:39
你这是IPV6本来就长这样
作者: 刘玮    时间: 2025-5-19 10:58
zainex 发表于 2025-5-19 10:04
这是 IPv6,像 192.186.1.1 这种是 IPv4,就不是一个东西,不是编码与解码的关系,因此不能实现你想象中的 ...

感谢指点迷津




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4