为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 易语言相关 > 易语言例程 正文

易语言Base32编码/解码

三叶资源网 2019-03-31 17:24:38 易语言例程 2510 ℃ 3 评论

易语言Base32编码/解码

.版本 2

.子程序 Base32解码, 文本型, 公开, 失败返回空
.参数 待解码数据, 文本型
.参数 UTF8编码, 逻辑型, 可空
.局部变量 CodingTable, 文本型
.局部变量 TemporaryDecoding, 文本型
.局部变量 i, 整数型
.局部变量 index, 整数型
.局部变量 TemporaryResult, 文本型
.局部变量 Complement, 文本型
.局部变量 Result, 文本型

' ======设置好需要的变量
CodingTable = “ABCDEFGHIJKLMNOPQRSTUVWXYZ234567”
TemporaryResult = “”
' =======取出标准化字符 (=)
TemporaryDecoding = 子文本替换 (待解码数据, “=”, “”, , , 真)

' ========计算[待解码文本]的二进制数据
.计次循环首 (取文本长度 (TemporaryDecoding), i)
    index = 寻找文本 (CodingTable, 取文本中间 (TemporaryDecoding, i, 1), , 假) - 1
    .如果真 (index = -2)
        返回 (“”)  ' 错误的数据
    .如果真结束
    TemporaryResult = TemporaryResult + 取文本右边 (DecimalToBinary (index), 5)
.计次循环尾 ()

' ======开始解码以下检测补位时已经进行了解码(二进制)
' =======检测[待解码文本]的二进制数据是否需要补位(每8bit为一组 保证每组8bit 最后一组不够8bit则用0填充)
Complement = 到文本 (求次方 (10, 8 - 取文本长度 (TemporaryResult) % 8))
TemporaryResult = TemporaryResult + 取文本右边 (Complement, 取文本长度 (Complement) - 1)

' ========计算解码后[待解码文本]的二进制数据的实际文本
Result = “”
.计次循环首 (取文本长度 (TemporaryResult) ÷ 8, i)
    Result = Result + ToText (到文本 (BinaryToDecimal (取文本中间 (TemporaryResult, i × 8 - 7, 8))))
.计次循环尾 ()

' UTF8格式
.如果真 (取反 (UTF8编码))
    Result = Utf8ToGb2312 (Result)
.如果真结束

返回 (Result)

@qazz199401

文件下载

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

已有3位网友发表了看法:

  • 易语言

    易语言  评论于 [2020-04-17 20:31:30]  回复

    怎么用易语言编码_base编码图片

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
抓包工具udp广播组播极速文件分割类超级编辑框控制托盘图标软件异常重启桌面小精灵QQ群签到抖音去水印sqlcipher数据库多线程传文本型参数seo炫彩界面遇见漂流瓶APPJs加密大漠插件宏插件界面引擎源码扒站工具仿百度网盘
最新评论