有一個不錯的java - MINA。python是否有任何通用的二進制協議編解碼器庫?
一旦我聽說python有類似的東西。但不能提醒。
編輯: 爲更具體,我想有一個工具,這將有助於我創建一個二進制流編碼。
EDIT2: 我想在這裏列出的解決方案(感謝斯科特相關主題) 按順序列出我會使用它。
- bitstring(大文件,我將選擇)
- hachoir
- BitVector(以神祕的第一眼)
-
- struct(蟒蛇STD)
- bitmanipulation tut
有一個不錯的java - MINA。python是否有任何通用的二進制協議編解碼器庫?
一旦我聽說python有類似的東西。但不能提醒。
編輯: 爲更具體,我想有一個工具,這將有助於我創建一個二進制流編碼。
EDIT2: 我想在這裏列出的解決方案(感謝斯科特相關主題) 按順序列出我會使用它。
你有沒有試過bitstring模塊?(全面披露:我寫的)
它的設計,使構建和解析二進制數據。簡單地看看a few examples,看它是否是類似的東西,你需要
這個片段做了H.264視頻文件的一些解析:
from bitstring import ConstBitStream
s = ConstBitStream(filename='somefile.h264')
profile_idc = s.read('uint:8')
# Multiple reads in one go returns a list:
constraint_flags = s.readlist('4*uint:1')
reserved_zero_4bits = s.read('bin:4')
level_idc = s.read('uint:8')
seq_parameter_set_id = s.read('ue')
if profile_idc in [100, 110, 122, 244, 44, 83, 86]:
chroma_format_idc = s.read('ue')
if chroma_format_idc == 3:
separate_colour_plane_flag = s.read('uint:1')
bit_depth_luma_minus8 = s.read('ue')
bit_depth_chroma_minus8 = s.read('ue')
...
python在標準庫中打包/解壓可用於解釋二進制數據並將它們映射到結構中
請參閱「11.3。二進制數據記錄佈局工作」這裏http://docs.python.org/tutorial/stdlib2.html
一些可能相關的問題:http://stackoverflow.com/questions/39663/ http://stackoverflow.com/questions/967652 – 2010-08-18 11:19:57