2010-08-18 49 views
3

有一個不錯的java - MINApython是否有任何通用的二進制協議編解碼器庫?

一旦我聽說python有類似的東西。但不能提醒。

編輯: 爲更具體,我想有一個工具,這將有助於我創建一個二進制流編碼。

EDIT2: 我想在這裏列出的解決方案(感謝斯科特相關主題) 按順序列出我會使用它。

+0

一些可能相關的問題:http://stackoverflow.com/questions/39663/ http://stackoverflow.com/questions/967652 – 2010-08-18 11:19:57

回答

4

你有沒有試過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') 
     ... 
+0

您的示例鏈接只適用於您的機器...... – Amoss 2010-08-18 11:27:35

+0

@Amoss:謝謝,修復! – 2010-08-18 11:28:03

+0

看起來像一個有趣的圖書館。當我找到一些時間時,我會有更廣泛的玩法。 – Amoss 2010-08-19 07:23:32