Python十六进制转字节发送至RFID时显示异常问题求助
解决字节串显示差异的问题
你遇到的是Python字节串的显示格式差异,而非实际字节内容错误:
- 十六进制
0x72对应的ASCII字符就是'r',Python在打印字节串时,会自动把可打印的ASCII字节直接显示为字符,对不可打印字节才用十六进制转义(比如\xa0、\x03)。 - 实际上
b'\xa0\x03r'和b'\xa0\x03\x72'是完全相同的字节序列,只是显示方式不同。
验证方法
可以通过以下代码确认字节内容正确:
import binascii cmd = bytes.fromhex('A00372') # 转成十六进制字符串查看原始内容 print(binascii.hexlify(cmd).decode('utf-8')) # 输出: A00372 # 直接比较两个字节串 print(cmd == b'\xa0\x03\x72') # 输出: True
结论
你的代码完全正确,发送给RFID设备的字节就是0xA0 0x03 0x72,不需要做任何修改。你看到的显示差异只是Python为了可读性做的格式化处理,不影响实际数据传输。
内容的提问来源于stack exchange,提问作者LappyDog
相关产品推荐
相关产品推荐

