设为首页收藏本站淘宝杂货铺

从F到0 - From F to 0

 找回密码
 注册已关闭
搜索
查看: 4509|回复: 6
收起左侧

字节集数据与二进制文本字符串互转的实现方法 - 支持字节低到高位或高到低位进行转换

[复制链接]
发表于 2018-11-23 21:03:19 | 显示全部楼层 |阅读模式


  1. .版本 2

  2. .程序集 字节集与二进制文本互转

  3. .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码


  4. _临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
  5. 返回 (0)  ' 可以根据您的需要返回任意数值

  6. .子程序 _临时子程序
  7. .局部变量 二进制文本, 文本型

  8. ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
  9. 二进制文本 = 字节集到二进制文本 (到字节集 (“Hello World!”))
  10. 输出调试文本 (二进制文本, 到文本 (二进制文本到字节集 (二进制文本)))

  11. .子程序 二进制文本到字节集, 字节集, 公开, 将二进制文本转换到字节集,失败返回空字节集
  12. .参数 二进制文本, 文本型, , 非0字符视为0处理,长度必须8的倍数
  13. .参数 低到高位, 逻辑型, 可空, 到字节集中每8个位是否以低到高位进行
  14. .局部变量 长度, 整数型
  15. .局部变量 字节集, 字节集
  16. .局部变量 计数, 整数型
  17. .局部变量 计数2, 整数型
  18. .局部变量 二进制字节文本, 文本型
  19. .局部变量 计数3, 整数型
  20. .局部变量 异或值, 整数型

  21. 异或值 = 选择 (低到高位, 0, 7)
  22. 长度 = 取文本长度 (二进制文本)
  23. .如果真 (位与 (长度, 7) ≠ 0 或 长度 = 0)
  24.     返回 ({  })
  25. .如果真结束
  26. 字节集 = 取空白字节集 (右移 (长度, 3))
  27. .变量循环首 (1, 长度, 8, 计数)
  28.     二进制字节文本 = 取文本中间 (二进制文本, 计数, 8)
  29.     计数3 = 计数3 + 1
  30.     .计次循环首 (8, 计数2)
  31.         字节集 [计数3] = 位或 (字节集 [计数3], 左移 (到字节 (取代码 (二进制字节文本, 计数2) = 49), 位异或 (计数2 - 1, 异或值)))
  32.     .计次循环尾 ()
  33. .变量循环尾 ()
  34. 返回 (字节集)


  35. .子程序 字节集到二进制文本, 文本型, 公开, 将字节集转换到二进制文本
  36. .参数 字节集, 字节集
  37. .参数 低到高位, 逻辑型, 可空
  38. .局部变量 长度, 整数型
  39. .局部变量 返回值, 字节集
  40. .局部变量 计数, 整数型
  41. .局部变量 计数2, 整数型
  42. .局部变量 计数3, 整数型
  43. .局部变量 异或值, 整数型

  44. 长度 = 取字节集长度 (字节集)
  45. 异或值 = 选择 (低到高位, 0, 7)
  46. 返回值 = 取空白字节集 (左移 (长度, 3))
  47. .计次循环首 (长度, 计数)
  48.     .计次循环首 (8, 计数2)
  49.         计数3 = 计数3 + 1
  50.         返回值 [计数3] = 选择 (位与 (字节集 [计数], 左移 (1, 位异或 (计数2 - 1, 异或值))) ≠ 0, 49, 48)
  51.     .计次循环尾 ()
  52. .计次循环尾 ()
  53. 返回 (到文本 (返回值))




复制代码

您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

QQ|手机版|Archiver|从F到0 ( 蒙ICP备17002595号-1 )
蒙公网安备15010402000325号

腾讯云安全认证

GMT+8, 2024-4-20 20:37 , Processed in 0.444026 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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