formate binare de obicei nu sunt specificate ușor; ele sunt rareori specificate într-o limbă marcat de nivel înalt, cum ar fi ASN.1 (și astfel de specificații nu poate fi retro-montat formate binare existente). Proiectul bdec este o încercare de a specifica formatele binare arbitrare într-un limbaj de marcare, și de a crea un decodor și encoder automat care format binar dat caietul de sarcini la nivel înalt.
Caietul de sarcini xml bdec folosește construcțiile bazate pe constructele gasite in ASN.1.
Utilizare:
Biblioteca bdec constă dintr-o decodare / bibliotecă codare și decodare de comandă linie si aplicatii de codare. Având o specificație, cererea linie de comandă va crea o reprezentare XML a datelor conținute în dosarul binar, și poate (pentru unele reprezentări) conversia XML înapoi la binar.
Biblioteca este capabil de a crea astfel de ieșire XML, sau opțional un obiect python reprezintă construcțiile cuprinse în datele binare.
De exemplu; reprezentarea xml unei bootsector FAT generat de funcționare:
dd if = / dev / sda1 bs = 512 count = 1 | decoda bootsector.xml
Caracteristici :
- Este ușor a scrie rapid (și citi) o specificație
- Nu este nevoie pentru a scrie un decodor personalizat (toate condițiile de eroare sunt tratate la nivel intern; decodificare fie trece sau nu) .
- Aplicația de linie de comandă permite inspectarea vizuală a fișierelor problematice.
- Unicode conștient, little-endian / big-endian conștient
- Specificați câmpurile în jos pentru a biți (de exemplu,: steaguri singur bit)
Ce este nou în această versiune:.
- structuri de date de codare la binar este acum suportat
- Acestea includ codare din cazuri Python, XML, și structuri C.
- Specificatii pot fi împărțite în mai multe fișiere prin simpla trecerea toate fișierele de specificație a decoda / codifica / compila programe.
Ce este nou în versiunea 0.5.1:
- Această versiune rapoartele intrarea corectă atunci când există o lipsește intrarea de referință.
- Se stabilește o Mako compila excepție atunci când rulează de la un ou (ignoră .pyc fișiere).
Ce este nou în versiunea 0.5.0:
- speedups Compilation (aproximativ cinci ori) și Python decodare speedups (până la 30 de ori).
- alegerile compilate sunt acum reprezentate de un "enumerare" și un "sindicat".
- Expresiile pot acum referire direct intrări alegere de referință opțiunea decodat.
- secțiunea Un nou "sfaturi", a fost adăugată în documentația, care include ":". Indiciu de intrare ascunsă
- intrările ale căror valori sunt trecute atât în și dintr-un intrare cauza expresii au fost stabilite.
- câmpuri mici endian, cu o valoare de așteptat, în caietul de sarcini întocmit au fost stabilite.
Ce este nou în versiunea 0.4.1:
- Proiectul poate fi compilate la un ou (inclusiv template-uri).
- C generat poate fi utilizat de la programe C ++ (de exemplu extern c).
- 'bdecode "și" bcompile "sunt instalate ca parte a oului instala.
- nume de tip de limbaj C generate sunt consecvente în puncte.
Ce este nou în versiunea 0.4.0:
- Această versiune permite intrări comune să se acorde un alt nume .
- Se îmbunătățește lizibilitatea de cod C generat.
- Nu va include structurile de date care nu sunt necesare în anteturile C.
- A schimbat la LGPL.
- Nu există actualizări de documentație, diverse remedieri în C decodoare, și un remediu pentru caietul de sarcini MP3.
Comentariile nu a fost găsit