易语言16进制读取器源码
.版本 2
.子程序 字节集到十六进制文本, 文本型
.参数 转换的数据, 字节集
.参数 是否显示地址, 逻辑型
.参数 是否显示源数据文本, 逻辑型
.局部变量 nc, 整数型, , , 循环变量
.局部变量 结果文本, 文本型
.局部变量 text, 文本型, , , 一行文本
.局部变量 Rtext, 文本型, , , 右侧文本
.计次循环首 (取字节集长度 (转换的数据), nc) ' 根据字节集长度确定循环次数
text = text + “ ” + 填充重复文本 (取十六进制文本 (转换的数据 [nc]), 2, “0”) ' 存放主要数据
.如果真 (是否显示源数据文本)
.如果真 (转换的数据 [nc] < 32) ' 如果该字节ASCII>32
转换的数据 [nc] = 46 ' 转换成原点符号形式显示
.如果真结束
Rtext = Rtext + 字符 (转换的数据 [nc])
.如果真结束
.如果真 (nc % 16 = 0) ' 每行16个字节
.如果真 (是否显示地址)
text = 填充重复文本 (取十六进制文本 (nc - 16), 4, “0”, ) + “ | ” + text
.如果真结束
.如果真 (是否显示源数据文本)
text = text + “ | ” + Rtext
.如果真结束
结果文本 = 结果文本 + text + #换行符 ' 满一行就插入回车符并添加到结果文本中
' 清空变量
text = “”
Rtext = “”
.如果真结束
.计次循环尾 ()
' 最后一行有可能数据刚好不能被16整除,则不满足条件i%16=0,所以要补上最后的一段
.如果真 (text ≠ “”)
.如果真 (取文本长度 (text) < 48)
text = 填充重复文本 (text, 48, “ ”, 假)
.如果真结束
.如果真 (是否显示地址)
text = 填充重复文本 (取十六进制文本 (nc - nc % 16), 4, “0”, 真) + “ | ” + text
.如果真结束
.如果真 (是否显示源数据文本)
text = text + “ | ” + Rtext
.如果真结束
结果文本 = 结果文本 + text + #换行符
.如果真结束
返回 (结果文本)
' 本源码来自三叶资源网(www.sanye.cx)
易语言16进制读取器源码
十六进制读取器
E语言读取文件转换十六进制
易语言十六进制转文本型
易语言 寻找16进制文本
易语言读写16进制