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