首页 > 解决方案 > 对字符使用 XOR 作为简单的校验和;一个字符只是一个字节吗?

问题描述

我有一个字符串,想通过在每个字符上累积 XOR 来生成一个简单的校验和,然后将其最低位字节结果添加到字符串的末尾,格式为sprintf(twoCharacterBuffer, "%02X", valueHoldingXOR);.

如果我只是对字符串中的字符进行异或,将它们放入一个unsigned char值中,编译器会警告我“'sprintf' 输出 3 到 9 个字节到大小为 2 的目标中”

Arduino 文档有点模糊,可能是故意的,关于字符中的字节数。我只想对最低位字节进行 XOR,无论是 1 字节还是 2 字节还是 4 字节,但不确定正确的方法。或者我可以假设 achar是 abyte并且只是转换它?

标签: arduino-c++

解决方案


推荐阅读