2010-08-18 10 views
3

Il y a un bon pour Java - MINA.Existe-t-il une bibliothèque générique de codec de protocole binaire pour python?

Une fois que j'ai entendu dire qu'il y a quelque chose de similaire pour python. Mais ne peux pas rappeler. Pour être plus précis, je voudrais avoir un outil qui m'aiderait à créer un codé pour un flux binaire.

EDIT2: Je voudrais énumérer des solutions ici (merci Scott pour des sujets connexes) Écrit dans l'ordre je l'emploierais.

+0

Quelques questions éventuellement connexes: http://stackoverflow.com/questions/39663/ http://stackoverflow.com/questions/967652 –

Répondre

4

Avez-vous essayé le module bitstring?. (Divulgation complète: je l'ai écrit)

Il est conçu pour faire la construction et l'analyse des données binaires comme . simple que possible Jetez un oeil à a few examples pour voir si elle est quelque chose comme vous avez besoin

Cet extrait fait une analyse syntaxique d'un fichier vidéo 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

Votre lien d'exemples ne fonctionne que sur votre machine .... – Amoss

+0

@Amoss: Merci, l'a réparé! –

+0

On dirait une bibliothèque intéressante. Je vais avoir un jeu plus étendu avec quand je trouve un peu de temps. – Amoss