5 repository-uri
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 este un limbaj de programare general-purpose, multi-paradigmă, din familia Lisp, conceput pentru crearea de limbaje. Funcționează ca un banc de lucru pentru limbaje (language workbench), oferind o platformă pentru proiectarea și implementarea de limbaje de programare personalizate printr-un sistem flexibil de macro-uri și module. Sistemul se distinge prin oferirea unei suite cuprinzătoare pentru ingineria semantică, permițând construcția de subseturi de limbaje specializate și straturi educaționale. Include instrumente pentru designul de limbaje personalizate, cum ar fi generarea de lexere și parsere, precum și capacitatea de a defini reguli de expansiune a modulelor și selecția dinamică a limbajului la momentul citirii (read-time). Proiectul oferă un mediu de dezvoltare integrat (IDE) cu editor încorporat, debugger vizual și un manager de pachete software. Suprafața sa de capabilități se extinde la o bibliotecă standard general-purpose care acoperă randarea graficii 2D, procesarea datelor binare, integrarea SQL și a bazelor de date deductive, precum și construcția de interfețe grafice. Mediul suportă compilarea codului sursă în fișiere executabile standalone pentru distribuție.
Provides a domain-specific language for generating binary data parsers with backtracking and context-sensitivity.
Kaitai Struct este un framework pentru specificații binare declarative care oferă generarea automată de parser și serializator pe mai multe limbaje de programare. Utilizează un limbaj portabil, specific domeniului, pentru a descrie layout-ul fișierelor binare și al pachetelor de rețea, convertind aceste specificații în cod sursă pentru citirea și scrierea datelor binare. Sistemul permite procesarea datelor cross-language prin traducerea unei singure definiții structurale în cod sursă nativ pentru limbaje precum C++, C#, Go, Java, JavaScript, Python și Rust. Această abordare permite implementarea aceleiași specificații de date binare pe diferite platforme fără a rescrie manual logica de parsare. Framework-ul acoperă modelarea și procesarea datelor binare, inclusiv capacitatea de a gestiona pointeri de citire pentru navigarea offset-urilor și aplicarea transformărilor de date, cum ar fi decompresia și decriptarea. De asemenea, oferă instrumente pentru debugging-ul specificațiilor de format pentru a valida maparea între layout-urile de date binare și descrierile lor declarative.
Automatically generates binary data parser source code for multiple languages from a declarative format specification.