飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2238|回复: 0

[转帖]文本和16进制数据相互转换工具

[复制链接]
  • TA的每日心情
    开心
    2018-5-6 16:27
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2006-7-5 19:24:53 | 显示全部楼层 |阅读模式
    【原创】文本和16进制数据相互转换工具  by 回心转意
    来自:http://bbs.pediy.com/showthread.php?s=&threadid=27771

    受人所托,写了个16进制数据和文本之间的相互转换工具,希望大家有用。

    使用说明:
        在最上面的编辑框内输入需要转换为16进制的文本,点转换即可。
        在中间的编辑框内输入需要转换为文本的16进制数据点“十六进制到文本”按扭即可在最下面的编辑框内显示出已经转换好的文本。
    注意:十六进制到文本转换的时候,需要按照16进制数值的格式输入,比如需要转换的十六进制数据为“A1”,不可输入“a1”。16进制数值只有一位的时候,必须在前面加“0”比如“OA”不可输入“A”。另外两个16进制数据之间必须以空格分开,比如“A1 A2”。
        作者:回心转意

    由于整个程序采用E语言编写,不知道是否需要上传源代码,请斑竹指示

    ss.GIF
    源代码如下
    .版本 2

    .程序集 窗口程序集1

    .子程序 _按钮1_被单击
    .局部变量 文本, 文本型
    .局部变量 字节集, 字节集
    .局部变量 长度, 整数型
    .局部变量 字节数组, 字节型, , "0"
    .局部变量 计次, 整数型
    .局部变量 字节, 字节型
    .局部变量 整数数组, 整数型, , "0"
    .局部变量 文本数组, 文本型, , "0"

    文本 = 编辑框1.内容
    字节集 = 到字节集 (文本)
    编辑框2.内容 = “”
    长度 = 取字节集长度 (字节集)
    .计次循环首 (长度, 计次)
        字节 = 取字节集数据 (字节集, 1, 计次)
        加入成员 (字节数组, 字节)
    .计次循环尾 ()
    计次 = 1
    .计次循环首 (长度, 计次)
        加入成员 (整数数组, 到数值 (字节数组 [计次]))
    .计次循环尾 ()
    计次 = 1
    .计次循环首 (长度, 计次)
        .如果 (整数数组 [计次] = 0)
            加入成员 (文本数组, “00”)
        .否则
            加入成员 (文本数组, 取十六进制文本 (整数数组 [计次]))
        .如果结束

    .计次循环尾 ()
    计次 = 1
    .计次循环首 (长度, 计次)
        .如果真 (取文本长度 (文本数组 [计次]) = 1)
            文本数组 [计次] = “0” + 文本数组 [计次]
        .如果真结束
        编辑框2.加入文本 (文本数组 [计次] + “ ”)
        ' 如果真 (计次 % 16 = 0)
        ' 编辑框2.加入文本 (#换行符)

    .计次循环尾 ()




    .子程序 _按钮2_被单击
    .局部变量 文本, 文本型
    .局部变量 字节集, 字节集

    文本 = 编辑框2.内容
    字节集 = 文本到字节集 (文本)
    编辑框3.内容 = 到文本 (字节集)


    .子程序 文本到字节集, 字节集
    .参数 文本, 文本型
    .局部变量 高位, 文本型
    .局部变量 低位, 文本型
    .局部变量 高位数据, 整数型
    .局部变量 低位数据, 整数型
    .局部变量 数值, 整数型
    .局部变量 文本数组, 文本型, , "0"
    .局部变量 字节集, 字节集
    .局部变量 次数, 整数型
    .局部变量 计次, 整数型
    .局部变量 数值数组, 字节型, , "0"

    文本数组 = 分割文本 (文本, “ ”, )
    次数 = 取数组成员数 (文本数组)
    .计次循环首 (次数, 计次)
        高位 = 取文本左边 (文本数组 [计次], 1)
        低位 = 取文本右边 (文本数组 [计次], 1)

        .判断开始 (高位 = “A”)
            高位数据 = 10
        .判断 (高位 = “B”)
            高位数据 = 11
        .判断 (高位 = “C”)
            高位数据 = 12
        .判断 (高位 = “D”)
            高位数据 = 13
        .判断 (高位 = “E”)
            高位数据 = 14
        .判断 (高位 = “F”)
            高位数据 = 15
        .默认
            高位数据 = 到数值 (高位)
        .判断结束

        .判断开始 (低位 = “A”)
            低位数据 = 10
        .判断 (低位 = “B”)
            低位数据 = 11
        .判断 (低位 = “C”)
            低位数据 = 12
        .判断 (低位 = “D”)
            低位数据 = 13
        .判断 (低位 = “E”)
            低位数据 = 14
        .判断 (低位 = “F”)
            低位数据 = 15
        .默认
            低位数据 = 到数值 (低位)
        .判断结束

        数值 = 高位数据 × 16 + 低位数据
        加入成员 (数值数组, 到字节 (数值))
    .计次循环尾 ()
    字节集 = 到字节集 (数值数组)
    返回 (字节集)


    .子程序 _按钮3_被单击

    载入 (窗口1, , 真)

    [ 本帖最后由 野猫III 于 2006-7-5 19:29 编辑 ]
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表