开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1240|回复: 10
收起左侧

[易语言纯源码] BASE64

[复制链接]
结帖率:93% (26/28)
发表于 2023-7-8 00:39:42 | 显示全部楼层 |阅读模式   安徽省阜阳市
分享源码
界面截图: -
是否带模块: -
备注说明: -
应该之前从论坛里找来或者精易模块提取的,随去随用。

  
子程序名返回值类型公开备 注
文本_BASE64编码文本型 
参数名类 型参考可空数组备 注
待编码数据字节集
变量名类 型静态数组备 注
余数  
临时字节型3
变量  
集合字节集 
长度整数型 
字符字节集 
i  
长度 = 取字节集长度 (待编码数据)
如果真 (长度 < 1)
返回 (“”)
余数 = 长度 % 3
如果真 (余数 > 0)
待编码数据 = 待编码数据 + 取空白字节集 (3 - 余数)
长度 = 取字节集长度 (待编码数据)
字符 = 取空白字节集 (长度 × 4 ÷ 3)
i = 1
集合 = 到字节集 (“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”)
变量循环首 (1, 长度, 3, 变量)
临时 [1] = 待编码数据 [变量]
临时 [2] = 待编码数据 [变量 + 1]
临时 [3] = 待编码数据 [变量 + 2]
字符 [i] = 集合 [右移 (临时 [1], 2) + 1]
字符 [i + 1] = 集合 [左移 (位与 (临时 [1], 3), 4)右移 (临时 [2], 4) + 1]
字符 [i + 2] = 集合 [左移 (位与 (临时 [2], 15), 2)右移 (临时 [3], 6) + 1]
字符 [i + 3] = 集合 [位与 (临时 [3], 63) + 1]
i = i + 4
变量循环尾 ()
如果真 (余数 > 0)
长度 = 取字节集长度 (字符)
如果 (余数 = 1)
字符 [长度 - 1]取代码 (“=”, )
字符 [长度]取代码 (“=”, )
字符 [长度]取代码 (“=”, )

返回 (到文本 (字符))
子程序名返回值类型公开备 注
文本_BASE64解码字节集 
参数名类 型参考可空数组备 注
编码文本文本型
变量名类 型静态数组备 注
文本长度  
整倍数  
三字节组字节型3
四字节组字节型4
编码值  
X  
n  
二进制数据字节集 
编码文本 = 删全部空 (编码文本)
编码文本 = 子文本替换 (编码文本, #换行符, , , , )
文本长度 = 取文本长度 (编码文本)
整倍数 = 文本长度 \ 4
如果真 (文本长度 % 4 ≠ 0)
整倍数 = 整倍数 + 1
计次循环首 (整倍数, X)
计次循环首 (4, n)
四字节组 [n]取代码 (编码文本, (X - 1) × 4 + n)
编码值 = 寻找文本 (“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”, 字符 (四字节组 [n]), , )
如果真 (编码值 = -1)
跳出循环 ()
四字节组 [n] = 编码值 - 1
计次循环尾 ()
三字节组 [1]位或 (四字节组 [1] × 4, 四字节组 [2] ÷ 16)
三字节组 [2]位或 (四字节组 [2] × 16, 四字节组 [3] ÷ 4)
三字节组 [3]位或 (四字节组 [3] × 64, 四字节组 [4])
二进制数据 = 二进制数据 + 到字节集 (三字节组)
处理事件 ()
计次循环尾 ()
如果真 (n < 5)  ' 最后一组4字符是提前退出的,截取字节集
n = 5 - n
二进制数据 = 取字节集左边 (二进制数据, 取字节集长度 (二进制数据) - n)
返回 (二进制数据)

评分

参与人数 1精币 +1 收起 理由
wa690602724 + 1 感谢分享,很给力!~

查看全部评分


本帖被以下淘专辑推荐:

结帖率:96% (70/73)

签到天数: 22 天

发表于 2023-8-20 12:10:54 | 显示全部楼层   安徽省宿州市
错误(10126): 指定命令“大于或等于”不能直接在语句首部使用。
回复 支持 反对

使用道具 举报

结帖率:93% (26/28)

签到天数: 3 天

 楼主| 发表于 2023-8-5 11:24:36 | 显示全部楼层   安徽省阜阳市
qwerrrrr 发表于 2023-8-5 00:46
从哪抠出来的?

应该是老版本的精易模块
回复 支持 反对

使用道具 举报

发表于 2023-8-5 00:46:52 | 显示全部楼层   陕西省西安市
从哪抠出来的?
回复 支持 反对

使用道具 举报

发表于 2023-7-13 09:35:56 | 显示全部楼层   四川省泸州市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

发表于 2023-7-10 20:58:41 | 显示全部楼层   江苏省连云港市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

签到天数: 18 天

发表于 2023-7-9 08:59:41 | 显示全部楼层   河北省石家庄市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 16 天

发表于 2023-7-8 13:32:57 | 显示全部楼层   广东省深圳市
学习一下
回复 支持 反对

使用道具 举报

结帖率:70% (7/10)

签到天数: 28 天

发表于 2023-7-8 11:40:23 | 显示全部楼层   河南省焦作市

支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 29 天

发表于 2023-7-8 09:38:26 | 显示全部楼层   辽宁省抚顺市
模块里弄出来的
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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