binary-parser – JavaScript-Parser-Builder für hochperformantes Parsen binärer Daten
(github.com/keichi)- Entwickelt, um strukturierte Binärformate mit einer deklarativen Chain-API zu definieren, und reduziert so die Komplexität beim manuellen Schreiben von Parsern erheblich
- Auf Basis der Parser-Definition wird Parsing-Code zur Laufzeit dynamisch erzeugt und kompiliert, wodurch eine Ausführungsleistung nahe an manuellen Implementierungen erreicht wird
- Unterstützt ein breites Spektrum an zentralen Typen für Binärprotokolle, darunter Ganzzahlen, Gleitkommazahlen, Bitfelder, Strings, Arrays,
choiceundpointer(auch benutzerdefinierte Typen sind möglich) - Endianness, Bitfeld-Definitionen und Arrays variabler Länge sowie andere häufige Muster beim Parsen von Netzwerk- und Dateiformaten lassen sich direkt ausdrücken
- Durch die Kombination von
choiceundarraylässt sich eine TLV-Struktur (Type-Length-Value) auf natürliche Weise modellieren - Mit
pointer,seek,saveOffsetusw. wird das Parsen von offsetbasierten Formaten wie ELF unterstützt - Über benannte Parser (
namely) ist das Parsen rekursiver Baumstrukturen möglich- Allerdings ist eine Abbruchbedingung nötig, um unendliche Rekursion zu vermeiden
- Unterstützt sowohl CommonJS als auch ESM und ist in Node.js für Buffer- / Uint8Array-basiertes Parsing optimiert
- Eine geeignete Bibliothek für Low-Level-Dateninterpretation wie die Analyse binärer Dateien, das Parsen von Netzwerkpaketen oder die Verarbeitung benutzerdefinierter Binärformate
Noch keine Kommentare.