arduino-c++ - 对字符使用 XOR 作为简单的校验和;一个字符只是一个字节吗?
问题描述
我有一个字符串,想通过在每个字符上累积 XOR 来生成一个简单的校验和,然后将其最低位字节结果添加到字符串的末尾,格式为sprintf(twoCharacterBuffer, "%02X", valueHoldingXOR);
.
如果我只是对字符串中的字符进行异或,将它们放入一个unsigned char
值中,编译器会警告我“'sprintf' 输出 3 到 9 个字节到大小为 2 的目标中”
Arduino 文档有点模糊,可能是故意的,关于字符中的字节数。我只想对最低位字节进行 XOR,无论是 1 字节还是 2 字节还是 4 字节,但不确定正确的方法。或者我可以假设 achar
是 abyte
并且只是转换它?
解决方案
推荐阅读
- mysql - 使用分布式查询 (OpenQuery) 执行插入触发器时出错
- javascript - 切换实时网页
- aframe - 光照贴图分辨率
- .net - 按计数的动态 Linq 组
- python - 在 pandas 数据框中生成缺失的数据块
- c# - Unity3D中“AndroidJNI.FindClass”和“AndroidJavaClass”有什么区别
- c# - Resharper:使用 int 赋值搜索 long 类型的变量
- c# - Microsoft Teams azure botframework 图标
- git - 保持 2 个 git 存储库同步
- jspdf - JsPdf分页符不起作用