binarne formaty zwykle nie są łatwo określona; rzadko są one określone w zaznaczonym języku wysokiego poziomu, takich jak ASN.1 (a takie specyfikacje nie może być wyposażony retro do istniejących formatów binarnych). Projekt bdec jest próbą określenia dowolnych formatów binarnych w języku znaczników i tworzyć dekoder i enkoder automatycznie dla tego formatu binarnego danej specyfikacji wysoki poziom.
Specyfikacja XML bdec wykorzystuje konstrukcje oparte na konstrukcji znajdują się w ASN.1.
Sposób użycia:
Bdec Biblioteka składa się z linii dekodowania i kodowania aplikacji dekodowania / kodowania i poleceń biblioteki. Biorąc pod uwagę specyfikację, aplikacja wiersza poleceń stworzy reprezentację XML danych zawartych w pliku binarnego, a może (dla niektórych reprezentacji) konwersja xml z powrotem do pliku binarnego.
Biblioteka jest w stanie stworzyć takiego wyjścia XML lub ewentualnie obiekt Pythona reprezentujący konstrukcje zawarte w danych binarnych.
Na przykład; reprezentacja xml z sektora rozruchowego FAT generowanego przez biegu:
dd if = / dev / sda1 bs = 512 count = 1 | dekodowania bootsector.xml
Opis :
- To jest łatwe szybko pisać (i czytać) Specyfikacja
- Nie ma potrzeby, aby napisać własny dekoder (wszystkie warunki błędów są obsługiwane wewnętrznie; dekodowanie albo przechodzi lub nie) .
- aplikacja wiersza poleceń umożliwia oględziny problematycznych plików.
- Unicode świadoma, little-endian / big-endian świadomość,
- Określ pola w dół do bitu (np: pojedynczy bit flagi)
Co nowego w tym wydaniu:.
- Kodowanie do struktur danych binarnych jest teraz obsługiwana
- Obejmuje to kodowanie od przypadkach Python, XML i struktur C.
- Dane mogą być teraz podzielone na wiele plików, po prostu przechodząc wszystkie pliki do specyfikacji kodowania / dekodowania / kompilacji programów.
Co nowego w wersji 0.5.1:
- Ta wersja podaje prawidłową pozycję, gdy istnieje brakuje odwołuje wpis.
- Ustala Mako kompilacji wyjątek podczas pracy z jaj (ignoruje .pyc plików).
Co nowego w wersji 0.5.0:
- speedups Compilation (około pięciu razy) i Python dekodowania speedups (do 30 razy).
- skompilowane wybory są teraz reprezentowane przez "wyliczenia" i "Unia".
- Wyrażenia mogą teraz bezpośrednio odwoływać wpisy wyboru odwołać zakodowanej opcję.
- punkt nowego "wskazówki" został dodany w dokumentacji, która obejmuje ':'. Ukrytą aluzję wpis
- Wpisy, których wartości są przekazywane zarówno w jak i poza wpisu z powodu wyrażenia zostały naprawione.
- Małe pola endian z oczekiwanej wartości zebranych specyfikacji zostały ustalone.
Co nowego w wersji 0.4.1:
- projekt może zostać skompilowany z jajkiem (w tym szablony).
- generowane C może być stosowany z programów C ++ (np extern c).
- "bdecode" i "bcompile" są instalowane jako część jajka instalacji.
- Wygenerowane nazwy typu C są zgodne języka w całej serii.
Co nowego w wersji 0.4.0:
- Ta wersja umożliwia wspólne wpisy należy podać inną nazwę .
- Poprawia czytelność wygenerowanego kodu C.
- Nie będzie zawierać niepotrzebnych struktur danych w nagłówkach C.
- To się zmieniło na licencji LGPL.
- Nie są aktualizacje dokumentacji, różne poprawki w dekoderach C i poprawka do specyfikacji MP3.
Komentarze nie znaleziono