Python中文
首页
教程
问答
标签
搜索
登录
注册
在Python中用十六进制字符串创建所有字节的异或校验和
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>在尝试与一个名为BSS London Blu-80的音频处理设备通信时,我发现必须发送一个通过对消息执行异或操作而创建的校验和。发送的消息示例如下:</p> <pre><code>0x8d 0x1e 0x19 0x1b 0x83 0x00 0x01 0x01 0x00 0x00 0x00 0x4b 0x00 0x00 0xc2 </code></pre> <p>0xc2是该消息的正确校验和。</p> <p>“校验和是消息正文中所有字节的单字节异或(xor)。”</p> <p>消息体是上面的那个减去校验和。</p> <p>但是,我尝试的代码:</p> <pre><code>packet = '0x8d 0x1e 0x19 0x1b 0x83 0x00 0x01 0x01 0x00 0x00 0x00 0x4b 0x00 0x00' xor = 0 i = 0 while i < len(packet): xor = xor ^ ord(packet[i]) i += 1 >>print xor 46 >>print hex(xor) '0x2e' </code></pre> <p>很明显我在这里做错了什么,而且没有完全理解这一点。任何帮助都将不胜感激。</p> <p>谢谢!</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>8位校验和解决方案</p> <blockquote> <blockquote> <blockquote> <p>r=hex(0x37^0x37^0xA0^0x00^0x07^0x63^0x80^0x8A^0x05^0x0C)[2:].upper()</p> </blockquote> </blockquote> </blockquote> <p>结果-“C7”</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
将Pandas数据帧转换为PyTorch张量?
2 回答
将Pandas数据帧转换为scipy稀疏矩阵
7 回答
将Pandas数据帧转换为Spark Datafram时出现问题
2 回答
将pandas数据帧转换为spark DataFram时出错
5 回答
将Pandas数据帧转换为spark datafram时收到错误
8 回答
将Pandas数据帧转换为Spark数据帧
6 回答
将Pandas数据帧转换为Tensorflow数据
3 回答
将Pandas数据帧转换为tkinter obj
2 回答
将pandas数据帧转换为XML
8 回答
将Pandas数据帧转换为值sql语句
7 回答
将pandas数据帧转换为元组
9 回答
将pandas数据帧转换为元组列表
9 回答
将pandas数据帧转换为元组列表并删除所有pandas数据类型
2 回答
将pandas数据帧转换为具有头和数据类型的numpy数组
8 回答
将pandas数据帧转换为内存中的拼花地板,并将其加载到Python中的Hadoop中
4 回答
将pandas数据帧转换为内存中类似文件的对象?
10 回答
将Pandas数据帧转换为内存功能(&F)
8 回答
将pandas数据帧转换为列表列表
8 回答
将pandas数据帧转换为列表列表以输入到RNN
10 回答
将Pandas数据帧转换为单行DataFram
7 回答