12 dépôts
Processes for reconstructing structured data from raw byte slices or streams.
Distinct from Binary Data Accessors: Distinct from Binary Data Accessors: focuses on full reconstruction of objects rather than partial zero-copy access.
Explore 12 awesome GitHub repositories matching data & databases · Binary Deserialization. Refine with filters or upvote what's useful.
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.
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.