.版本 2.程序集 程序集1.子程序 Base64解码, 字节集, 公开.参数 原文, 字节集.局部变量 码表, 字节集.局部变量 位置码表, 字节型, , "256".局部变量 结果, 字节集.局部变量 原文长度, 整数型.局部变量 补码, 整数型.局部变量 i, 整数型.局部变量 四字节数据, 字节型, , "4".局部变量 j, 整数型原文长度 = 取字节集长度 (原文).如果真 (原文长度 = 0) 返回 ({ }).如果真结束码表 = { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47 }.计次循环首 (64, i) 位置码表 [码表 [i]] = i - 1.计次循环尾 ()补码 = 0.判断开始 (取字节集右边 (原文, 2) = { 61, 61 }) 补码 = 2.判断 (取字节集右边 (原文, 1) = { 61 }) 补码 = 1.默认.判断结束结果 = 取空白字节集 (原文长度 ÷ 4 × 3)j = 1.变量循环首 (1, 原文长度 - 3, 4, i) 四字节数据 [1] = 位置码表 [原文 [i]] 四字节数据 [2] = 位置码表 [原文 [i + 1]] 四字节数据 [3] = 位置码表 [原文 [i + 2]] 四字节数据 [4] = 位置码表 [原文 [i + 3]] 结果 [j] = 左移 (四字节数据 [1], 2) + 右移 (四字节数据 [2], 4) 结果 [j + 1] = 左移 (四字节数据 [2], 4) + 右移 (四字节数据 [3], 2) 结果 [j + 2] = 左移 (四字节数据 [3], 6) + 四字节数据 [4] j = j + 3.变量循环尾 ().如果真 (补码 > 0) 结果 = 取字节集左边 (结果, 取字节集长度 (结果) - 补码).如果真结束返回 (结果).子程序 Base64编码, 字节集, 公开.参数 原文, 字节集.局部变量 余数, 整数型.局部变量 三字节数据, 字节型, , "3".局部变量 码表, 字节集.局部变量 len_x, 整数型.局部变量 len_y, 整数型.局部变量 结果, 字节集.局部变量 i, 整数型.局部变量 k, 整数型len_x = 取字节集长度 (原文).如果真 (len_x < 1) 返回 ({ }).如果真结束余数 = len_x % 3.如果真 (余数 > 0) 原文 = 原文 + 取空白字节集 (3 - 余数) len_x = len_x + 3 - 余数.如果真结束len_y = len_x × 4 ÷ 3结果 = 取空白字节集 (len_y)i = 1码表 = { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47 }.变量循环首 (1, len_x, 3, k) 三字节数据 [1] = 原文 [k] 三字节数据 [2] = 原文 [k + 1] 三字节数据 [3] = 原文 [k + 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.变量循环尾 ().判断开始 (余数 = 2) 结果 [len_y] = 61.判断 (余数 = 1) 结果 [len_y] = 61 结果 [len_y - 1] = 61.默认.判断结束返回 (结果)
.版本 2.支持库 spec.程序集 窗口程序集1.子程序 _地址转换_被单击.判断开始 (地址编辑框.内容 ≠ “”) 地址编辑框.内容 = 删首尾空 (地址编辑框.内容) .判断开始 (取文本左边 (地址编辑框.内容, 10) = “thunder://”) 原始地址编辑框.内容 = 处理子程序 (1) .判断 (取文本左边 (地址编辑框.内容, 11) = “Flashget://”) 原始地址编辑框.内容 = 处理子程序 (2) .判断 (取文本左边 (地址编辑框.内容, 7) = “qqdl://”) 原始地址编辑框.内容 = 处理子程序 (3) .默认 原始地址编辑框.内容 = 地址编辑框.内容 .判断结束 原始地址转换 ().默认 信息框 (“请在输入需要转换的地址”, 48, “地址栏为空”).判断结束.子程序 原始地址转换迅雷地址编辑框.内容 = 返回迅雷 ()flashget编辑框.内容 = 返回flashget ()旋风地址编辑框.内容 = 返回旋风 ().子程序 处理子程序, 文本型.参数 标识.局部变量 文本, 文本型.局部变量 文本1, 文本型.局部变量 文本2, 文本型.局部变量 文本3, 文本型.局部变量 id, 整数型.判断开始 (标识 = 1) 文本 = 子文本替换 (地址编辑框.内容, “thunder://”, , , 2, 假) 文本 = 子文本替换 (文本, “/”, , , , 真) 文本 = 到文本 (Base64解码 (到字节集 (文本))) 文本 = 子文本替换 (文本, “AA”, , , , 真) 文本 = 子文本替换 (文本, “ZZ”, , , , 真).判断 (标识 = 2) 文本 = 子文本替换 (地址编辑框.内容, “Flashget://”, , , 1, 真) id = 寻找文本 (文本, “&”, , 假) .判断开始 (id ≠ -1) 文本 = 取文本左边 (文本, id - 1) 调试输出 (文本) .默认 .判断结束 文本 = 到文本 (Base64解码 (到字节集 (文本))) 文本 = 子文本替换 (文本, “[FLASHGET]”, , , 2, 假).判断 (标识 = 3) 文本 = 子文本替换 (地址编辑框.内容, “qqdl://”, , , 2, 假) 文本 = 到文本 (Base64解码 (到字节集 (文本))).默认.判断结束返回 (文本).子程序 返回迅雷, 文本型.局部变量 文本, 文本型文本 = 原始地址编辑框.内容文本 = “AA” + 文本 + “ZZ”文本 = “thunder://” + 到文本 (Base64编码 (到字节集 (文本)))返回 (文本).子程序 返回flashget, 文本型.局部变量 文本, 文本型文本 = 原始地址编辑框.内容文本 = “[FLASHGET]” + 文本 + “[FLASHGET]”文本 = “Flashget://” + 到文本 (Base64编码 (到字节集 (文本))) + “&force”返回 (文本).子程序 返回旋风, 文本型.局部变量 文本, 文本型文本 = 原始地址编辑框.内容文本 = “qqdl://” + 到文本 (Base64编码 (到字节集 (文本)))返回 (文本).子程序 _清空地址_被单击连续赋值 (“”, 原始地址编辑框.内容, 迅雷地址编辑框.内容, flashget编辑框.内容, 旋风地址编辑框.内容, 地址编辑框.内容)