2011-08-02 54 views
0

我正在創建一個使用python的十六進制文件,並且在最後我需要添加一個包含所有十六進制值之和的校驗和,以便checksum = Byte 0x000000 + Byte 0x000001 + ... +字節0x27DAFF(不包括這4個字節)。然後該校驗和將被寫入位置0x27DB00-0x27DB03的緩衝區中作爲無符號長整型。如何使用python從十六進制字節生成校驗和

如何快速完成此任何好主意,我正在運行python2.7。

由於我的信息我開始用ctypes創建一個緩衝區,然後寫很多很多十六進制的東西緩衝區,然後從緩衝區創建一個cStringIO並將該字符串對象寫入一個file_obj碰巧一個django http響應(即將十六進制文件作爲可下載文件返回),因此任何涉及緩衝區的智能事物都將受到讚賞! :-)

/延

+1

通過了 「十六進制文件」,你只是意味着一個二進制文件? –

+1

您是否在'bytearray'上嘗試了'sum()'? – agf

+0

是,創建二進制文件; – jenlu

回答

3

謝謝!

以下兩種解決方案工作;

checksum = sum(map(ord, b))

checksum = sum(bytearray(b))

/J

+0

不要忘記接受此答案! – razlebe

相關問題