#serialization
3 APIs con questa etichetta
CBOR API
Encode and decode CBOR (RFC 8949, Concise Binary Object Representation) — the IETF-standard binary data format behind COSE, WebAuthn/FIDO2, the EU Digital COVID Certificate, and many IoT and constrained-device protocols. The encode endpoint turns a JSON value into compact, definite-length CBOR, choosing the smallest head for each integer, string, array and map; the decode endpoint parses CBOR back into a JSON value. It implements the spec across all major types — unsigned and negative integers of every width, byte and text strings (including indefinite-length chunked strings), arrays, maps, tags, the simple values false/true/null, and half-, single- and double-precision floats — and rejects trailing or truncated data rather than silently mangling it. Byte strings and any non-UTF-8 text come back losslessly as {"_bytes_hex":"…"}, tags as {"_tag":{"tag":N,"value":…}}, non-finite floats as {"_float":"NaN|Infinity|-Infinity"}, and other simple values as {"_simple":N}, so encode and decode round-trip exactly. Bytes are exchanged as both hex and base64 so they survive any transport. Everything is computed locally and deterministically, so it is instant and private. Ideal for debugging CBOR, COSE and WebAuthn payloads, bridging JSON and CBOR systems, IoT and smart-card pipelines, and teaching the format. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is CBOR specifically; for MessagePack use the MessagePack API, for BitTorrent's Bencode use the Bencode API, for JSON, YAML, TOML or XML use those format APIs, and for base64, hex, URL or HTML encoding use a general encoding API.
api.oanor.com/cbor-api
MessagePack API
Codifica e decodifica MessagePack — il formato di serializzazione binaria compatto ("è come JSON, ma veloce e piccolo") utilizzato da Redis, Fluentd, molti sistemi RPC e protocolli IoT. L'endpoint di codifica trasforma un valore JSON in byte MessagePack, scegliendo automaticamente la rappresentazione più piccola per ogni intero, stringa, array e mappa; l'endpoint di decodifica analizza MessagePack restituendo un valore JSON. Implementa l'intera specifica — nil, booleani, ogni larghezza di intero fissa e variabile, float32 e float64, str e bin, array e mappe, e la famiglia ext — e rifiuta dati troncati o finali invece di modificarli silenziosamente. I valori binari (bin) e qualsiasi stringa non UTF-8 vengono restituiti senza perdita come oggetto {"_bytes_hex":"…"}, e i valori ext come {"_ext":{"type":N,"hex":"…"}}, quindi codifica e decodifica sono esatti. I byte vengono scambiati sia in esadecimale che in base64 per sopravvivere a qualsiasi trasporto. Tutto viene calcolato localmente e deterministicamente, quindi è istantaneo e privato. Ideale per il debug di payload MessagePack, per collegare sistemi JSON e msgpack, per strumenti RPC e cache, pipeline IoT e per insegnare il formato. Puro calcolo locale — nessuna chiave, nessun servizio di terze parti, istantaneo. Live, nulla viene memorizzato. 3 endpoint. Questo è specificamente MessagePack; per JSON, YAML, TOML o XML usa quelle API di formato, per Bencode di BitTorrent usa l'API Bencode, e per codifica base64, esadecimale, URL o HTML usa un'API di codifica generale.
api.oanor.com/msgpack-api
Bencode API
Codifica e decodifica Bencode (BEP 3) — il formato di serializzazione che BitTorrent usa per i file .torrent metainfo e le risposte dei tracker. L'endpoint encode trasforma un valore JSON in Bencode: gli oggetti diventano dizionari con le loro chiavi ordinate in ordine di byte grezzo esattamente come richiesto dalla specifica, gli array diventano liste, i numeri interi diventano interi e le stringhe diventano stringhe di byte con prefisso di lunghezza. L'endpoint decode analizza Bencode in un valore JSON e applica rigorosamente la specifica — nessuno zero iniziale negli interi, nessuno zero negativo, le chiavi del dizionario devono essere ordinate e uniche, e nessun dato finale è tollerato — quindi input malformati vengono rifiutati anziché modificati silenziosamente. Le stringhe di byte binarie che non sono UTF-8 valide sono rappresentate senza perdita come un oggetto {"_bytes_hex":"…"}, quindi encode e decode fanno un round-trip esatto anche per il campo binario "pieces" di un torrent reale. Decode accetta i dati sia come testo che, per payload genuinamente binari, come esadecimale; encode restituisce sia il testo Bencode (quando stampabile) che i suoi byte esadecimali. Tutto è calcolato localmente e deterministicamente, quindi è istantaneo e privato. Ideale per creare e analizzare file .torrent, strumenti per tracker, client BitTorrent e messaggi DHT, e per insegnare come funziona il formato. Pura computazione locale — nessuna chiave, nessun servizio di terze parti, istantaneo. Live, nulla viene memorizzato. 3 endpoint. Questo è specificamente il Bencode di BitTorrent; per codifica base64, esadecimale, URL o HTML usa un'API di codifica generale, e per JSON, YAML, TOML o XML usa quelle API di formato.
api.oanor.com/bencode-api