记录一次字节串 转换错误

print(b'xf3x25' ==  b'xf3%')  # 输出结果是True

因为在测试的时候 发现输出不同的结果 ,经查表才发现 上述都是代表同一个value

import struct
# 字节串转数值
print(struct.unpack('<h',b'xf3x25')) # 9715
print(struct.unpack('<h',b'xf3%')) # 9715

#数值转字节串
print(struct.pack('<h',9715)) # 输出b'xf3%'

#利用memoryview对象对字节的处理
print(memoryview(b'xf3%').tolist()) #输出  [243, 37]  十进制243对应下面16进制f3  37对应16进制25 刚好对应ASCII可显示字符中的%,见下图
print(memoryview(b'xf3%').hex()) #输出 f325

b'x124' ==  b'x12x34' # True 其中就是因为 4的ascii码16进制值是34

原文地址:https://www.cnblogs.com/ivan09/p/14237210.html