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() 及其变体不处理无符号字符数组,因此需要将其转换为字符数组才能打印。

