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

从F到0 - From F to 0

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

易语言 实现字节集的url gb2312编解码 相当于php的 urlencode() 与urldecode() 函数。

[复制链接]
发表于 2017-9-8 07:19:15 | 显示全部楼层 |阅读模式

  1. .版本 2
  2. .支持库 spec

  3. .程序集 窗口程序集_启动窗口, , , 易语言 实现字节集的url gb2312编解码 相当于php的 urlencode() 与urldecode() 函数。

  4. .子程序 __启动窗口_创建完毕
  5. .局部变量 编码后, 文本型

  6. 编码后 = URL编码 (到字节集 (“测试内容”), 真)
  7. 调试输出 (编码后)
  8. 调试输出 (到文本 (URL解码 (编码后)))
  9. 结束 ()

  10. .子程序 URL编码, 文本型, 公开
  11. .参数 数据, 字节集
  12. .参数 全编码, 逻辑型, 可空
  13. .局部变量 返回值, 文本型
  14. .局部变量 计数, 整数型
  15. .局部变量 十六进制文本, 文本型
  16. .局部变量 不编码字符, 文本型
  17. .局部变量 是否编码, 逻辑型
  18. .局部变量 计数2, 整数型

  19. 返回值 = “”
  20. 十六进制文本 = “0123456789ABCDEF”
  21. 不编码字符 = “0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~!@#$%^&*()_+{}|:<>?-=[]\;',./” + #引号

  22. .计次循环首 (取字节集长度 (数据), 计数)
  23.     是否编码 = 真
  24.     .如果真 (全编码 = 假)
  25.         .计次循环首 (取文本长度 (不编码字符), 计数2)
  26.             .如果真 (取文本中间 (不编码字符, 计数2, 1) = 取文本中间 (到文本 (数据), 计数, 1))
  27.                 是否编码 = 假
  28.                 跳出循环 ()
  29.             .如果真结束

  30.         .计次循环尾 ()

  31.     .如果真结束
  32.     .如果 (是否编码)
  33.         返回值 = 返回值 + “%” + 取文本中间 (十六进制文本, 右移 (数据 [计数], 4) + 1, 1) + 取文本中间 (十六进制文本, 位与 (数据 [计数], 15) + 1, 1)
  34.     .否则
  35.         返回值 = 返回值 + 到文本 (取字节集中间 (数据, 计数, 1))
  36.     .如果结束

  37. .计次循环尾 ()
  38. 返回 (返回值)


  39. .子程序 URL解码, 字节集, 公开
  40. .参数 文本, 文本型
  41. .局部变量 十六进制文本, 文本型
  42. .局部变量 高字节计数, 整数型
  43. .局部变量 低字节计数, 整数型
  44. .局部变量 字节值, 字节型
  45. .局部变量 字节集, 字节集

  46. 字节集 = 到字节集 (文本)
  47. 十六进制文本 = “0123456789ABCDEF”
  48. .计次循环首 (16, 高字节计数)
  49.     .计次循环首 (16, 低字节计数)
  50.         字节集 = 子字节集替换 (字节集, 到字节集 (“%” + 到小写 (取文本中间 (十六进制文本, 高字节计数, 1)) + 到小写 (取文本中间 (十六进制文本, 低字节计数, 1))), 到字节集 (字节值), , )
  51.         字节集 = 子字节集替换 (字节集, 到字节集 (“%” + 到小写 (取文本中间 (十六进制文本, 高字节计数, 1)) + 取文本中间 (十六进制文本, 低字节计数, 1)), 到字节集 (字节值), , )
  52.         字节集 = 子字节集替换 (字节集, 到字节集 (“%” + 取文本中间 (十六进制文本, 高字节计数, 1) + 到小写 (取文本中间 (十六进制文本, 低字节计数, 1))), 到字节集 (字节值), , )
  53.         字节集 = 子字节集替换 (字节集, 到字节集 (“%” + 取文本中间 (十六进制文本, 高字节计数, 1) + 取文本中间 (十六进制文本, 低字节计数, 1)), 到字节集 (字节值), , )
  54.         字节值 = 字节值 + 1
  55.     .计次循环尾 ()
  56. .计次循环尾 ()
  57. 返回 (字节集)


复制代码


相关帖子

发表于 2017-9-17 18:21:08 来自手机 | 显示全部楼层
小萌 发表于 2017-9-9 07:48

斑竹也开始灌水了。
发表于 2017-9-22 10:42:16 来自手机 | 显示全部楼层
520 发表于 2017-9-17 18:21
斑竹也开始灌水了。

应该也没有什么规定。
发表于 2017-9-22 16:44:53 来自手机 | 显示全部楼层
小萌 发表于 2017-9-22 10:42
应该也没有什么规定。

嗯嗯,应该可以随便水??
您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

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

腾讯云安全认证

GMT+8, 2024-3-28 19:50 , Processed in 0.490028 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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