易语言Base32编码/解码

易语言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)
相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

易语言Base32编码/解码》有0个想法

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注