2010-09-24 177 views
0

我正在使用BASIC编程一个小型微控制器。基本上它收到了一些BASE64编码数据,我需要使用BASIC在我的最后解码它。我想知道是否有办法做到这一点?BASIC中的任何base64解码算法

+0

什么基本?有你的语言位掩码功能? – Eineki 2010-09-24 15:59:03

回答

0

我不知道基本的,但你可以从这个链接开始:http://en.wikipedia.org/wiki/Base64明确解释了编码的工作原理。

您需要解码base64编码的消息,以便你应该 设置像

dim('A','B','C','D','E',....,'8','9','+','/') 

(或wathever的基本语法)与64索引和 阵列读取从输入4个字符。 在查找表中找到相应的值,并使用 来解码消息。

我将使用术语焦炭指示 将搜寻到的编码消息的字符和术语指数到 地址,但他们代表的解码算法的价值。

如果你的基本支持位掩码,你可以很快做到这一点。如果不是,你必须使用一些聪明的乘法/除法。

  • 乘以第一索引和乘以4(模量255), 划分为16的第二索引, 添加两个结果以获得所述第一字节

  • 乘以第二索引16 (模量255), 划分第三指数为4, 添加两个结果,以获得第二个字节,

  • 乘以第三指数为16(模量255), 添加第四索引以获得第三个字节

重复直到消息结束。

您需要注意的填充字符:如果你遇到一个等号(=)你知道你打的编码字节的结束,你必须停止解码知道:

  • 如果第三编码的字符是a =你只需要解码第一个字节;
  • 如果第四个字符是a =你需要解码两个字节;

有没有其他的情况。

只是另一个提示:有时编码的信息被包裹,你需要忽略\ n字符(或者你可能遇到的\ r \ n的组合)。