#serialization
3 APIs avec cette balise
API CBOR
Encodez et décodez CBOR (RFC 8949, Concise Binary Object Representation) — le format de données binaires standard de l'IETF derrière COSE, WebAuthn/FIDO2, le certificat COVID numérique de l'UE, et de nombreux protocoles IoT et pour appareils contraints. Le point de terminaison encode transforme une valeur JSON en CBOR compact de longueur définie, choisissant la plus petite en-tête pour chaque entier, chaîne, tableau et carte ; le point de terminaison décode analyse le CBOR en une valeur JSON. Il implémente la spécification pour tous les types majeurs — entiers non signés et négatifs de toutes largeurs, chaînes d'octets et de texte (y compris les chaînes fragmentées de longueur indéfinie), tableaux, cartes, étiquettes, les valeurs simples false/true/null, et les flottants demi-, simple- et double-précision — et rejette les données tronquées ou supplémentaires plutôt que de les modifier silencieusement. Les chaînes d'octets et tout texte non UTF-8 sont renvoyés sans perte sous forme {"_bytes_hex":"…"}, les étiquettes sous forme {"_tag":{"tag":N,"value":…}}, les flottants non finis sous forme {"_float":"NaN|Infinity|-Infinity"}, et les autres valeurs simples sous forme {"_simple":N}, de sorte que l'encodage et le décodage sont exactement réversibles. Les octets sont échangés à la fois en hexadécimal et en base64 pour survivre à tout transport. Tout est calculé localement et de manière déterministe, donc c'est instantané et privé. Idéal pour déboguer les charges utiles CBOR, COSE et WebAuthn, faire le pont entre les systèmes JSON et CBOR, les pipelines IoT et cartes à puce, et enseigner le format. Calcul local pur — pas de clé, pas de service tiers, instantané. En direct, rien n'est stocké. 3 points de terminaison. Il s'agit spécifiquement de CBOR ; pour MessagePack, utilisez l'API MessagePack, pour le Bencode de BitTorrent, utilisez l'API Bencode, pour JSON, YAML, TOML ou XML, utilisez ces API de format, et pour l'encodage base64, hexadécimal, URL ou HTML, utilisez une API d'encodage général.
api.oanor.com/cbor-api
API MessagePack
Encodez et décodez MessagePack — le format de sérialisation binaire compact ("c'est comme JSON, mais rapide et petit") utilisé par Redis, Fluentd, de nombreux systèmes RPC et protocoles IoT. Le point de terminaison encode transforme une valeur JSON en octets MessagePack, choisissant automatiquement la représentation la plus petite pour chaque entier, chaîne, tableau et carte ; le point de terminaison decode analyse MessagePack pour le reconvertir en valeur JSON. Il implémente la spécification complète — nil, booléens, toutes les largeurs d'entier fixes et variables, float32 et float64, str et bin, tableaux et cartes, et la famille ext — et rejette les données tronquées ou supplémentaires plutôt que de les modifier silencieusement. Les valeurs binaires (bin) et toute chaîne non UTF-8 sont renvoyées sans perte sous forme d'objet {"_bytes_hex":"…"}, et les valeurs ext sous forme de {"_ext":{"type":N,"hex":"…"}}, de sorte que l'encodage et le décodage sont exactement réversibles. Les octets sont échangés à la fois en hexadécimal et en base64 pour survivre à tout transport. Tout est calculé localement et de manière déterministe, donc c'est instantané et privé. Idéal pour déboguer les charges utiles MessagePack, faire le pont entre les systèmes JSON et msgpack, les outils RPC et de cache, les pipelines IoT, et enseigner le format. Calcul local pur — pas de clé, pas de service tiers, instantané. En direct, rien n'est stocké. 3 points de terminaison. Il s'agit spécifiquement de MessagePack ; pour JSON, YAML, TOML ou XML, utilisez ces API de format, pour le Bencode de BitTorrent, utilisez l'API Bencode, et pour l'encodage base64, hexadécimal, URL ou HTML, utilisez une API d'encodage générale.
api.oanor.com/msgpack-api
API Bencode
Encodez et décodez Bencode (BEP 3) — le format de sérialisation que BitTorrent utilise pour les fichiers .torrent et les réponses des trackers. Le point de terminaison encode transforme une valeur JSON en Bencode : les objets deviennent des dictionnaires avec leurs clés triées dans l'ordre brut des octets exactement comme le spécifie la norme, les tableaux deviennent des listes, les nombres entiers deviennent des entiers, et les chaînes deviennent des chaînes d'octets préfixées par leur longueur. Le point de terminaison decode analyse le Bencode en une valeur JSON et applique strictement la norme — pas de zéros non significatifs dans les entiers, pas de zéro négatif, les clés du dictionnaire doivent être triées et uniques, et aucune donnée résiduelle n'est tolérée — de sorte que les entrées mal formées sont rejetées plutôt que silencieusement modifiées. Les chaînes d'octets binaires qui ne sont pas en UTF-8 valide sont représentées sans perte sous forme d'objet {"_bytes_hex":"…"}, de sorte que l'encodage et le décodage sont exacts même pour le champ binaire "pieces" d'un vrai torrent. Le décodage accepte les données soit sous forme de texte, soit, pour les charges utiles véritablement binaires, sous forme hexadécimale ; l'encodage renvoie à la fois le texte Bencode (lorsqu'il est imprimable) et ses octets hexadécimaux. Tout est calculé localement et de manière déterministe, donc c'est instantané et privé. Idéal pour créer et analyser des fichiers .torrent, des outils de tracker, des clients BitTorrent et des messages DHT, et pour enseigner le fonctionnement du format. Calcul local pur — pas de clé, pas de service tiers, instantané. En direct, rien n'est stocké. 3 points de terminaison. Il s'agit spécifiquement du Bencode de BitTorrent ; pour le base64, l'hexadécimal, l'URL ou le codage HTML, utilisez une API de codage général, et pour JSON, YAML, TOML ou XML, utilisez ces API de format.
api.oanor.com/bencode-api