如何使用python从十六进制字节生成校验和
我正在使用python创建一个十六进制文件,最后我需要添加一个包含所有十六进制值之和的校验和,以便校验和=字节0x000000+字节0x000001+…+字节0x27DAFF(不包括这4个字节)。然后,应将该校验和写入位置0x27DB00-0x27DB03处的缓冲区,作为无符号长 任何关于如何快速完成的好主意,我正在运行python2.7 作为我正在做的事情的信息,我首先使用ctypes创建一个缓冲区,然后将大量的十六进制数据写入缓冲区,然后从缓冲区创建一个cStringIO,并将这个字符串对象写入一个恰好是django http响应的文件(即,将十六进制文件作为可下载文件返回)因此,任何涉及缓冲区的聪明事情都将受到赞赏!!!:-) /詹斯谢谢 以下两种解决办法奏效了如何使用python从十六进制字节生成校验和,python,byte,hex,checksum,crc,Python,Byte,Hex,Checksum,Crc,我正在使用python创建一个十六进制文件,最后我需要添加一个包含所有十六进制值之和的校验和,以便校验和=字节0x000000+字节0x000001+…+字节0x27DAFF(不包括这4个字节)。然后,应将该校验和写入位置0x27DB00-0x27DB03处的缓冲区,作为无符号长 任何关于如何快速完成的好主意,我正在运行python2.7 作为我正在做的事情的信息,我首先使用ctypes创建一个缓冲区,然后将大量的十六进制数据写入缓冲区,然后从缓冲区创建一个cStringIO,并将这个字符串对象
checksum=sum(映射(ord,b))
或
checksum=sum(bytearray(b))
/J谢谢
以下两种解决办法奏效了
checksum=sum(映射(ord,b))
或
checksum=sum(bytearray(b))
/J所说的“十六进制文件”,您是指二进制文件吗?您是否尝试过在
bytearray上使用sum()
?…使用b=ctypes.create\u string\u buffer通过“十六进制文件”,您是指二进制文件吗?您是否尝试过在bytearray
上使用sum()
?…使用b=ctypes.create\u string\u buffer