Arduino – base64 编码和解码

arduinohardwaresoftware & coding更新于 2026/1/12 8:52:17

Arduino 包含一个用于 base64 编码和解码的库。您可以从库管理器下载。搜索 base64,然后通过 Densaugeo 安装该库。

现在,打开一个新的 sketch 并运行以下示例代码 −

#include "base64.hpp"

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

void setup() {
   // 在此处输入设置代码,运行一次:
   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() {
  // 将您的主代码放在此处,以便重复运行:
}

输出

串行监视器输出如下所示 −

您可以在以下网站上验证此输出:https://base64.guru/converter/decode

如您所见,此库处理无符号字符数组。 base64_encode 函数接受三个参数 −

  • 待转换的数组

  • 待转换数组中元素的数量

  • 用于存储编码值的数组

返回编码数组的长度。

base64_decode 函数接受两个参数 −

  • 包含编码值的数组

  • 用于存储解码结果的数组

由于 Serial.print() 及其变体不处理无符号字符数组,因此需要将其转换为字符数组才能打印。


相关文章