【问题标题】:any base64 decoding algorithm in BASICBASIC 中的任何 base64 解码算法
【发布时间】:2010-09-24 15:43:06
【问题描述】:

我正在用 BASIC 编写一个小型微控制器。基本上它收到了一些 BASE64 编码数据,我需要在最后使用 BASIC 对其进行解码。我想知道是否有任何方法可以做到这一点?

【问题讨论】:

  • 什么基本?有你的语言位掩码能力吗?

标签: encoding base64 basic


【解决方案1】:

我不懂基本但你可以从这个链接开始: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), 添加第四个索引得到第三个字节

重复直到消息结束。

您需要注意填充字符:如果遇到 = 符号,您就知道您到达了编码字节的末尾,您必须停止解码:

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

没有其他情况。

另一个提示:有时编码的消息被包装,您需要忽略 \n 字符(或您可能遇到的任何 \r\n 组合)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-16
    相关资源
    最近更新 更多