字节集替换易语言源码
.版本 2
.程序集 程序集1
.子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
_临时子程序 () ' 在初始化代码执行完毕后调用测试代码
返回 (0) ' 可以根据您的需要返回任意数值
.子程序 _临时子程序
.局部变量 变量, 字节集
' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
变量 = 到字节集 (“我是笨笨”)
输出调试文本 (查看字节集 (变量))
变量 = 还原为字节集 (查看字节集 (变量), 假)
输出调试文本 (查看字节集 (变量))
.子程序 取十进制, 整数型, 公开, 将非十进制的标准格式文本转换成十进制整数值
.参数 欲转换的值, 文本型, , 欲转换的值,文本型!
.参数 数值类型, 整数型, 可空, 0,#十六进制;1,#十进制(默认);2,#八进制;3,#二进制
.局部变量 s, 整数型, , , 最终结果
.局部变量 a, 整数型, , , 中间变量
.局部变量 b, 整数型, , , 中间变量
.局部变量 c, 文本型, , , 中间变量
.局部变量 d, 整数型, , , 中间变量
欲转换的值 = 到小写 (欲转换的值)
.如果真 (是否为空 (数值类型))
数值类型 = 1
.如果真结束
s = 0
.判断开始 (数值类型 = 0)
a = 取文本长度 (欲转换的值)
.变量循环首 (1, a, 1, b)
c = 取文本中间 (欲转换的值, a - b + 1, 1)
.如果真 (取代码 (c, ) ≤ 取代码 (“f”, ) 且 取代码 (c, ) ≥ 取代码 (“a”, ) 或 取代码 (c, ) ≤ 取代码 (“F”, ) 且 取代码 (c, ) ≥ 取代码 (“A”, ))
.如果真 (取代码 (c, ) ≥ 取代码 (“A”, ) 且 取代码 (c, ) ≤ 取代码 (“F”, ))
d = 取代码 (c, ) - 取代码 (“A”, ) + 10
.如果真结束
.如果真 (取代码 (c, ) ≥ 取代码 (“a”, ) 且 取代码 (c, ) ≤ 取代码 (“f”, ))
d = 取代码 (c, ) - 取代码 (“a”, ) + 10
.如果真结束
.如果真结束
.如果真 (取代码 (c, ) ≤ 取代码 (“9”, ) 且 取代码 (c, ) ≥ 取代码 (“0”, ))
d = 到数值 (c)
.如果真结束
s = s + 求次方 (16, b - 1) × d
.变量循环尾 ()
.默认
.判断结束
.判断开始 (数值类型 = 1)
s = 到数值 (欲转换的值)
.默认
.判断结束
.判断开始 (数值类型 = 2)
a = 取文本长度 (欲转换的值)
.变量循环首 (1, a, 1, b)
c = 取文本中间 (欲转换的值, a - b + 1, 1)
.如果真 (取代码 (c, ) ≤ 取代码 (“7”, ) 且 取代码 (c, ) ≥ 取代码 (“0”, ))
d = 到数值 (c)
.如果真结束
s = s + 求次方 (8, b - 1) × d
.变量循环尾 ()
.默认
.判断结束
.判断开始 (数值类型 = 3)
a = 取文本长度 (欲转换的值)
.变量循环首 (1, a, 1, b)
c = 取文本中间 (欲转换的值, a - b + 1, 1)
.如果真 (取代码 (c, ) ≤ 取代码 (“1”, ) 且 取代码 (c, ) ≥ 取代码 (“0”, ))
d = 到数值 (c)
.如果真结束
s = s + 求次方 (2, b - 1) × d
.变量循环尾 ()
.默认
' 本源码来自三叶资源网(www.sanye.cx)
.判断结束
返回 (s)
.子程序 还原为字节集, 字节集, 公开, 将一串十六进制文本还原为字节集
.参数 文本, 文本型, , 如“00BFAD00AFD4FD4F9E054F9FF91FC5FF2076FBAFDB071044”,或者是“{206,210,202,199}”之类
.参数 十六进制, 逻辑型, 可空, 如果未指明则为十六进制文本,如果为假则为十进制文本
.局部变量 字节集, 字节集
.局部变量 i, 整数型
.局部变量 a, 整数型
.局部变量 临时文本, 文本型
.局部变量 临时数组, 文本型, , "0"
.如果真 (是否为空 (十六进制))
十六进制 = 真
.如果真结束
字节集 = { }
临时文本 = 文本
.如果 (十六进制)
临时文本 = 子文本替换 (临时文本, “,”, , , , 真)
临时文本 = 子文本替换 (临时文本, “{”, , , , 真)
临时文本 = 子文本替换 (临时文本, “}”, , , , 真)
.变量循环首 (1, 取文本长度 (文本), 2, i)
a = 取十进制 (取文本中间 (文本, i, 2), 0)
字节集 = 字节集 + 取字节集左边 (到字节集 (a), 1)
.变量循环尾 ()
.否则
临时文本 = 子文本替换 (临时文本, “{”, , , , 真)
临时文本 = 子文本替换 (临时文本, “}”, , , , 真)
临时数组 = 分割文本 (临时文本, “,”, )
.变量循环首 (1, 取数组成员数 (临时数组), 1, i)
a = 到数值 (临时数组 [i])
字节集 = 字节集 + 取字节集左边 (到字节集 (a), 1)
.变量循环尾 ()
.如果结束
返回 (字节集)
.子程序 查看字节集, 文本型, 公开, 以文本表示字节集,适合于字节集的调试用
.参数 字节集, 字节集, , 要查看的字节集
.局部变量 i, 整数型
.局部变量 a, 文本型
.变量循环首 (1, 取字节集长度 (字节集), 1, i)
a = a + “,” + 到文本 (取字节集数据 (取字节集中间 (字节集, i, 1), 3))
.变量循环尾 ()
a = “{” + 取文本右边 (a, 取文本长度 (a) - 1) + “}”
返回 (a)
.子程序 字节集到十六进制, 文本型, 公开, 将字节集用16进制表示
.参数 字节集, 字节集, , 用于转换的字节集
.局部变量 返回值, 文本型
.局部变量 i, 整数型
.局部变量 j, 整数型
返回值 = “”
j = 取字节集长度 (字节集)
.变量循环首 (1, j, 1, i)
返回值 = 返回值 + 取十六进制文本 (取字节集数据 (取字节集中间 (字节集, i, 1), 3))
.变量循环尾 ()
返回 (返回值)
易语言字节集替换模块
易语言字节集替换
字节集替换
字节替换