Arduino – base64 編碼和解碼


Arduino 包含一個幫助base64編碼和解碼的庫。你可以從庫管理器下載他。搜尋base64,並安裝 Densaugeo 的庫。

現在,開啟一個新的草圖,並且執行以下示例程式碼 −

#include "base64.hpp"

unsigned char normal_text[20] = "Hello World";
unsigned char base64_text[20];
unsigned char decoded_text[20];

void setup() {
   // put your setup code here, to run once:
   Serial.begin(9600);
   Serial.println();

   int base64_length = encode_base64(normal_text,12,base64_text);
   Serial.print("Base64 Text: ");Serial.println((char *) base64_text);
   Serial.print("Base64 Length: ");Serial.println(base64_length);

   int decoded_length = decode_base64(base64_text,decoded_text);
   Serial.print("Decoded Text: ");Serial.println((char *)decoded_text);
   Serial.print("Decoded Length: ");Serial.println(decoded_length);
}

void loop() {
   // put your main code here, to run repeatedly:
}

輸出

序列監視器輸出如下 −

你可以像這樣的網站上驗證此輸出:https://base64.guru/converter/decode

如你所見,此庫處理無符號字元陣列。base64_encode 函式接受三個引數 −

  • 要轉換的陣列

  • 要轉換的陣列中元素的數量

  • 用於儲存編碼值的陣列

它返回編碼陣列的長度。

base64_decode 函式接收兩個引數 −

  • 包含編碼值的陣列

  • 用於儲存解碼結果的陣列

由於Serial.print()及其變體不處理無符號字元陣列,因此你需要將其轉換為字元陣列以供列印。

更新於: 26-7-2021

5000+ 瀏覽

開啟你的 職業生涯

完成課程即可獲得認證

開始學習
廣告
© . All rights reserved.