2010-09-24 49 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的組合)。