Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python从十六进制字节生成校验和_Python_Byte_Hex_Checksum_Crc - Fatal编程技术网

如何使用python从十六进制字节生成校验和

如何使用python从十六进制字节生成校验和,python,byte,hex,checksum,crc,Python,Byte,Hex,Checksum,Crc,我正在使用python创建一个十六进制文件,最后我需要添加一个包含所有十六进制值之和的校验和,以便校验和=字节0x000000+字节0x000001+…+字节0x27DAFF(不包括这4个字节)。然后,应将该校验和写入位置0x27DB00-0x27DB03处的缓冲区,作为无符号长 任何关于如何快速完成的好主意,我正在运行python2.7 作为我正在做的事情的信息,我首先使用ctypes创建一个缓冲区,然后将大量的十六进制数据写入缓冲区,然后从缓冲区创建一个cStringIO,并将这个字符串对象

我正在使用python创建一个十六进制文件,最后我需要添加一个包含所有十六进制值之和的校验和,以便校验和=字节0x000000+字节0x000001+…+字节0x27DAFF(不包括这4个字节)。然后,应将该校验和写入位置0x27DB00-0x27DB03处的缓冲区,作为无符号长

任何关于如何快速完成的好主意,我正在运行python2.7

作为我正在做的事情的信息,我首先使用ctypes创建一个缓冲区,然后将大量的十六进制数据写入缓冲区,然后从缓冲区创建一个cStringIO,并将这个字符串对象写入一个恰好是django http响应的文件(即,将十六进制文件作为可下载文件返回)因此,任何涉及缓冲区的聪明事情都将受到赞赏!!!:-)

/詹斯

谢谢

以下两种解决办法奏效了

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