【发布时间】:2010-09-24 15:43:06
【问题描述】:
我正在用 BASIC 编写一个小型微控制器。基本上它收到了一些 BASE64 编码数据,我需要在最后使用 BASIC 对其进行解码。我想知道是否有任何方法可以做到这一点?
【问题讨论】:
-
什么基本?有你的语言位掩码能力吗?
我正在用 BASIC 编写一个小型微控制器。基本上它收到了一些 BASE64 编码数据,我需要在最后使用 BASIC 对其进行解码。我想知道是否有任何方法可以做到这一点?
【问题讨论】:
我不懂基本但你可以从这个链接开始:http://en.wikipedia.org/wiki/Base64 清楚地解释编码是如何工作的。
您需要解码 base64 编码的消息,因此您应该 设置一个数组,如
dim('A','B','C','D','E',....,'8','9','+','/')
(或无论基本语法是什么)具有 64 索引和 从输入中读取 4 个字符。 在查找表中找到对应的值并使用 它来解码消息。
我会用char这个词来表示 您在编码消息中找到的字符和术语 index 到 解决它们为解码算法表示的值。
如果您的基本支持位掩码,您可以很快做到。 如果没有,你必须使用一些巧妙的乘法/除法。
将第一个索引乘以 4(模数 255), 将第二个索引除以 16, 将两个结果相加得到第一个字节
将第二个索引乘以 16(模数 255), 将第三个索引除以 4, 将两个结果相加得到第二个字节,
将第三个索引乘以 16(模数 255), 添加第四个索引得到第三个字节
重复直到消息结束。
您需要注意填充字符:如果遇到 = 符号,您就知道您到达了编码字节的末尾,您必须停止解码:
没有其他情况。
另一个提示:有时编码的消息被包装,您需要忽略 \n 字符(或您可能遇到的任何 \r\n 组合)。
【讨论】: