5 Repos
Libraries designed to interpret and process complex binary file formats and legacy container structures.
Distinguishing note: Focuses on the low-level interpretation of binary structures, distinct from high-level data manipulation or UI components.
Explore 5 awesome GitHub repositories matching data & databases · Binary Data Parsers. Refine with filters or upvote what's useful.
SheetJS is a comprehensive library for parsing, manipulating, and generating complex spreadsheet file formats. It functions as a universal data processor that maps diverse binary, XML, and text-based file structures into a unified internal object model, allowing developers to create, read, and transform workbook data programmatically. The library distinguishes itself through a portable logic layer that provides a consistent execution environment across web browsers, server-side runtimes, and native desktop or mobile applications. By utilizing stream-based processing, it handles large files in
The library parses and writes legacy binary spreadsheet files by interpreting complex container formats and record structures to ensure accurate data preservation across older software versions.
Presto is a distributed SQL query engine designed for high-performance analytical processing across heterogeneous data sources. It functions as a data federation platform and massively parallel processing engine, allowing users to execute interactive queries against diverse storage systems without requiring data migration. By mapping remote metadata and structures to a unified relational namespace, it enables seamless cross-platform analysis through a standard SQL interface. The engine distinguishes itself through a pluggable connector architecture and a shared-nothing distributed processing
Provides specialized functions for concatenating, slicing, and measuring binary data sequences.
nom is a Rust parser combinator framework used to build complex parsers for binary and text data. It functions as an abstract syntax tree generator and a bit-level binary parser, allowing users to construct structured data by combining small, reusable parsing functions. The framework provides specialized support for zero-copy binary parsing, extracting data as slices from raw byte arrays to avoid memory allocations. It also includes a streaming data parser capable of processing partial input chunks from networks or files and signaling when additional input is required. The project covers a b
Processes binary formats using bit-level logic to extract specific data fields.
Racket ist eine Mehrzweck-Programmiersprache mit mehreren Paradigmen aus der Lisp-Familie, die für die Sprachschöpfung entwickelt wurde. Sie fungiert als Sprach-Workbench und bietet eine Plattform zum Entwerfen und Implementieren benutzerdefinierter Programmiersprachen durch ein flexibles System aus Makros und Modulen. Das System zeichnet sich durch eine umfassende Suite für Semantik-Engineering aus, die den Aufbau spezialisierter Sprach-Subsets und Bildungsschichten ermöglicht. Es enthält Tools für das Design benutzerdefinierter Sprachen, wie Lexer- und Parser-Generierung, sowie die Fähigkeit, Modul-Erweiterungsregeln und dynamische Sprachauswahl zur Lesezeit zu definieren. Das Projekt bietet eine integrierte Entwicklungsumgebung mit eingebautem Editor, visuellem Debugger und einem Software-Paketmanager. Die Funktionspalette erstreckt sich auf eine Standardbibliothek für allgemeine Zwecke, die 2D-Grafik-Rendering, Binärdatenverarbeitung, SQL- und deduktive Datenbankintegration sowie den Bau grafischer Benutzeroberflächen abdeckt. Die Umgebung unterstützt das Kompilieren von Quellcode in eigenständige ausführbare Dateien für die Distribution.
Provides a domain-specific language for generating binary data parsers with backtracking and context-sensitivity.
Kaitai Struct ist ein Framework für deklarative Binärspezifikationen, das die automatisierte Parser- und Serializer-Generierung über mehrere Programmiersprachen hinweg ermöglicht. Es verwendet eine portable, domänenspezifische Sprache, um das Layout von Binärdateien und Netzwerkpaketen zu beschreiben, und konvertiert diese Spezifikationen in Quellcode zum Lesen und Schreiben binärer Daten. Das System ermöglicht sprachübergreifende Datenverarbeitung durch die Übersetzung einer einzigen strukturellen Definition in nativen Quellcode für Sprachen wie C++, C#, Go, Java, JavaScript, Python und Rust. Dieser Ansatz ermöglicht es, dieselbe Binärdatenspezifikation über verschiedene Plattformen hinweg zu implementieren, ohne die Parsing-Logik manuell neu schreiben zu müssen. Das Framework deckt die Modellierung und Verarbeitung binärer Daten ab, einschließlich der Fähigkeit, Lesezeiger für die Offset-Navigation zu verwalten und Datentransformationen wie Dekomprimierung und Entschlüsselung anzuwenden. Es bietet zudem Tools für das Debugging von Formatspezifikationen, um das Mapping zwischen Binärdatenlayouts und ihren deklarativen Beschreibungen zu validieren.
Automatically generates binary data parser source code for multiple languages from a declarative format specification.