2010-08-18 26 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