16 dépôts
Tools for reading and parsing binary data formats without full deserialization.
Distinguishing note: Focuses on zero-copy or partial-read access patterns for binary buffers, distinct from general-purpose database drivers.
Explore 16 awesome GitHub repositories matching data & databases · Binary Data Accessors. Refine with filters or upvote what's useful.
FlatBuffers is a cross-platform serialization library designed for performance-critical applications that require efficient, zero-copy data access. By organizing data in a structured binary format, it allows applications to read and write complex data structures directly from memory-mapped buffers without the need for intermediate parsing or temporary object allocation. The project distinguishes itself through a schema-driven approach that balances high-performance access with long-term data evolution. It utilizes a unique memory layout featuring relative offsets and inline fixed-size structu
Reading specific fields from large binary buffers without the need for full deserialization or temporary object allocation.
This project is a comprehensive JavaScript programming tutorial and language reference. It serves as a web development education resource providing instruction on modern language fundamentals, object-oriented design, and advanced asynchronous programming patterns. The resource functions as both a frontend development guide and a technical reference. It covers core language features such as closures, prototypes, promises, and typed arrays, while providing practical lessons on managing browser data and handling network requests. The content spans several key capability areas, including browser
Explains how to read and interpret bytes from raw binary buffers at specific offsets.
The ECMAScript specification is the formal standard defining the syntax, semantics, and execution model that all JavaScript implementations must follow. It establishes the official language rules through a combination of formal grammar and step-by-step algorithmic prose. The project manages the technical evolution of the language via a consensus-driven governance framework and a staged proposal pipeline. This process tracks features from initial design through expert reviewer sign-off and committee approval. A specification-as-code toolchain compiles these formal definitions and algorithmic d
Provides views that allow reading and writing multiple numeric types directly to an underlying binary buffer.
Thrift is a cross-language remote procedure call framework and data serialization protocol. It provides an interface definition language to specify data types and service interfaces in a neutral format, enabling the automated generation of client and server code across multiple programming languages. The project functions as a polyglot service communicator using a layered software stack to ensure interoperable communication. It focuses on implementing cross-language remote procedure calls and transforming complex data structures into standardized formats for efficient network transport. The
Supports non-atomic updates by ignoring unknown fields during binary deserialization, ensuring backward and forward compatibility.
Sled is an embedded key-value store and ACID-compliant database designed for high-performance data persistence. It functions as a log-structured storage engine that organizes data using B+ trees to support efficient range queries and prefix scans. The engine implements a zero-copy data store model, utilizing epoch-based reclamation to provide direct references to cached values without memory allocations. It distinguishes itself through a combination of write-ahead logging, page cache optimizations to reduce write amplification on flash storage, and serializable transactions for atomic multi-k
Allows reconstructing structured data from byte slices using specific configurations.
Sui is a blockchain platform featuring an object-centric state model and resource-oriented smart contracts. It utilizes parallel transaction execution to increase network throughput and supports programmable transaction blocks that bundle multiple operations into single atomic units. The platform distinguishes itself with a capability-based access control system and zero-knowledge login mechanisms, enabling users to authenticate via identity providers without seed phrases. It also implements deterministic object addressing to allow predictable state lookups and supports the creation of soulbo
Implements binary deserialization to reconstruct structured data from BCS serialized byte slices.
ArduinoJson is a C++ library for parsing and manipulating JSON data and MessagePack binary streams on microcontrollers with limited memory and processing power. It provides the core primitives necessary for embedded data serialization and parsing, enabling devices to exchange structured data over serial or network interfaces. The library is distinguished by its focus on microcontroller memory management, employing strategies such as pool-based allocation, string deduplication, and non-owning string views to minimize RAM usage. It further optimizes for constrained environments by allowing cons
Provides direct reading and writing of raw binary data embedded within MessagePack streams.
MessagePack-CSharp is a high-performance binary serialization library for .NET applications that converts object graphs into the MessagePack format. It functions as a C# data serialization toolkit and a polymorphic binary encoder capable of handling abstract classes and interfaces using union keys to identify concrete derived types. The library provides a binary format transcoder to transform binary data into human-readable JSON for debugging. It supports ahead-of-time formatter generation to avoid runtime overhead and implements LZ4 binary compression to reduce the size of serialized data.
Reconstructs structured object graphs from raw binary blobs using both typed and dynamic deserialization.
MessagePack-CSharp is a high-performance binary serializer for .NET that converts C# objects to and from the compact MessagePack format. It uses compile-time source generation to produce AOT-safe formatters and resolvers, eliminating runtime reflection and enabling ahead-of-time compilation scenarios. The serializer encodes object fields as integer indices instead of string keys, producing compact binary output with deterministic field ordering, and provides stack-allocated reader and writer structs for direct encoding and decoding of MessagePack primitives without heap allocations. The libra
Deserializes binary data with missing or extra fields by ignoring unknown keys and applying defaults.
protobuf-net est un framework de sérialisation binaire et une bibliothèque .NET qui implémente la spécification Protocol Buffers. Il fonctionne comme un outil de sérialisation basé sur un schéma et un mappeur de données "contract-first", convertissant des graphes d'objets complexes en un format binaire compact pour le stockage et la transmission réseau. La bibliothèque permet l'échange de données multiplateforme et la mise en réseau haute performance en réduisant la taille des charges utiles et le temps de traitement. Elle prend spécifiquement en charge la persistance de la hiérarchie des objets, permettant la sérialisation et la reconstruction de structures de classes complexes incluant l'héritage et les types dérivés. Le projet couvre des capacités fondamentales, notamment la sérialisation et la désérialisation de données binaires, la génération de classes pilotée par schéma et la gestion de l'héritage de types via des identifiants uniques. Il fournit des mécanismes pour mapper les structures de données via des attributs statiques ou des configurations dynamiques au runtime.
Reconstructs complex .NET objects from raw binary streams to restore original application state.
Ce projet est une bibliothèque et un framework Protocol Buffers pour Swift fournissant un runtime pour la sérialisation et la désérialisation de données structurées. Il inclut un générateur de code qui transforme les fichiers de schéma en structures Swift typées et un framework de sérialisation binaire pour convertir les données en flux compacts. La bibliothèque fonctionne comme un mappeur de données JSON, transformant les messages en représentations JSON standard pour faciliter l'échange de données multiplateformes. Elle utilise une approche basée sur les schémas pour garantir une modélisation cohérente des données entre les applications Swift et les services écrits dans d'autres langages. Le framework couvre la sérialisation et la désérialisation de données binaires et JSON, utilisant une bibliothèque runtime basée sur des interfaces pour gérer ces formats à travers les messages générés.
Reconstructs structured data from compact binary streams using predefined protobuf schemas.
Prost est une implémentation de Protocol Buffers pour Rust qui fonctionne comme un framework de sérialisation binaire et un générateur de code. Il traduit les définitions de schéma en structs et enums Rust idiomatiques, fournissant la logique nécessaire pour encoder et décoder des données structurées dans le format binaire Protocol Buffers. Le projet se distingue par une implémentation no-std, lui permettant d'opérer dans des environnements embarqués ou noyau qui manquent de bibliothèque standard. Il sert également d'inspecteur de schéma en émettant des jeux de descripteurs de fichiers, ce qui permet l'analyse programmatique des définitions de schéma originales au moment de l'exécution. La bibliothèque couvre un large éventail de capacités, incluant la génération de traits de service pour la modélisation d'interface, la prise en charge de types bien connus, et des annotations de macros procédurales pour mapper des définitions de type manuelles. Elle fournit également des outils pour la gestion des dépendances et le fuzz testing pour assurer la stabilité de la sérialisation.
Transforms binary streams back into structured Rust data objects through efficient deserialization.
Fury est un framework de sérialisation binaire multi-langage conçu pour encoder des objets de domaine et des graphes complexes afin de faciliter l'échange de données entre langages. Il inclut un compilateur de langage de définition d'interface (IDL) qui traduit les définitions de schéma en types natifs idiomatiques et en code de sérialisation répétitif à travers plusieurs langages. Le projet se distingue par un lecteur binaire zero-copy qui permet d'accéder à des champs spécifiques sans désérialiser l'objet entier, ainsi qu'un sérialiseur de graphe d'objets qui préserve les références circulaires et l'intégrité référentielle. Il dispose également d'un convertisseur de données qui transforme les données binaires basées sur des lignes en formats Apache Arrow colonnaires pour les charges de travail analytiques. Le framework couvre de vastes domaines de capacités, incluant l'évolution de schéma pilotée par métadonnées pour la compatibilité ascendante et descendante, un processus de compilation AOT au moment du build pour éliminer la réflexion à l'exécution, et une désérialisation sécurisée via une validation de type basée sur liste blanche. Il fournit en outre une intégration pour des appels de procédure à distance haute performance via gRPC.
Reconstructs original typed objects from binary payloads using a shared schema to ensure type safety.
fastjson2 est une bibliothèque Java haute performance utilisée pour sérialiser et désérialiser des objets Java vers et depuis des chaînes JSON et des tableaux d'octets. Elle fonctionne comme un sérialiseur JSON binaire pour encoder des objets dans des formats binaires optimisés afin de réduire la taille des payloads et d'augmenter la vitesse de traitement. Le projet inclut un moteur de requête JSONPath pour extraire des données et des champs spécifiques de documents JSON en utilisant des expressions de chemin et des filtres standardisés. Il sert également de validateur de schéma JSON, fournissant des utilitaires pour générer des contrats de données et valider les entrées JSON par rapport à des schémas définis afin d'assurer la cohérence structurelle. La bibliothèque couvre un large éventail de capacités de manipulation de données, incluant la transformation de JSON en maps ou en types d'objets spécifiques, et la conversion de beans Java en formats binaires. Elle offre des mécanismes pour une logique de sérialisation personnalisée, le mapping de champs via des annotations, et la capacité de préserver les types d'objets lors de la conversion.
Reconstructs Java objects from binary data using embedded type information for automatic resolution.
Fory is a cross-language serialization framework and binary data serializer designed to convert complex object graphs into a compact binary format for high-performance data exchange. It includes an IDL-based schema compiler to transform interface definition language files into type-safe native data models and a schema evolution manager to maintain forward and backward compatibility. The project features a zero-copy data access layer that allows reading specific fields from binary rows without deserializing the entire object. It supports dual-mode serialization, enabling a toggle between a por
Reconstructs native language objects from binary streams based on a shared schema.
NBTExplorer is a viewer and editor for Named Binary Tag data. It functions as a processor for the hierarchical binary tag files used within Minecraft save files and game configuration. The tool enables the exploration and modification of game world settings, player data, and entity states. It supports reading and updating structured binary data across standard, uncompressed, and region-based file formats. The project provides capabilities for binary tag deserialization and in-place modification. It handles data through buffered stream reading, zlib-based decompression, and region-file indexi
Implements binary deserialization to convert raw NBT streams into structured tree objects.