Rug

#serialization

3 APIs met deze tag

CBOR API

Codeer en decodeer CBOR (RFC 8949, Concise Binary Object Representation) — het IETF-standaard binaire dataformaat achter COSE, WebAuthn/FIDO2, het EU Digitaal COVID-certificaat en vele IoT- en constrained-device-protocollen. Het encode-eindpunt zet een JSON-waarde om in compacte, definite-length CBOR, waarbij de kleinste header wordt gekozen voor elk geheel getal, string, array en map; het decode-eindpunt parseert CBOR terug naar een JSON-waarde. Het implementeert de specificatie voor alle belangrijke types — unsigned en negative integers van elke breedte, byte- en tekststrings (inclusief indefinite-length chunked strings), arrays, maps, tags, de eenvoudige waarden false/true/null, en half-, single- en double-precision floats — en verwerpt trailing of truncated data in plaats van deze stil te verminken. Byte strings en niet-UTF-8 tekst komen verliesvrij terug als {"_bytes_hex":"…"}, tags als {"_tag":{"tag":N,"value":…}}, niet-eindige floats als {"_float":"NaN|Infinity|-Infinity"}, en andere eenvoudige waarden als {"_simple":N}, zodat encode en decode exact round-trippen. Bytes worden uitgewisseld als zowel hex als base64, zodat ze elke transport overleven. Alles wordt lokaal en deterministisch berekend, dus het is direct en privé. Ideaal voor het debuggen van CBOR-, COSE- en WebAuthn-payloads, het overbruggen van JSON- en CBOR-systemen, IoT- en smart-card-pijplijnen, en het onderwijzen van het formaat. Pure lokale berekening — geen sleutel, geen externe service, direct. Live, niets opgeslagen. 3 eindpunten. Dit is specifiek CBOR; gebruik voor MessagePack de MessagePack API, voor BitTorrent's Bencode de Bencode API, voor JSON, YAML, TOML of XML die formaat-API's, en voor base64, hex, URL of HTML-codering een algemene coderings-API.

api.oanor.com/cbor-api

MessagePack API

Codeer en decodeer MessagePack — het compacte binaire serialisatieformaat ("het is als JSON, maar snel en klein") dat wordt gebruikt door Redis, Fluentd, veel RPC-systemen en IoT-protocollen. Het encode-eindpunt zet een JSON-waarde om in MessagePack-bytes, waarbij automatisch de kleinste representatie wordt gekozen voor elk geheel getal, string, array en map; het decode-eindpunt parseert MessagePack terug naar een JSON-waarde. Het implementeert de volledige specificatie — nil, booleans, elke vaste en variabele integer-breedte, float32 en float64, str en bin, arrays en maps, en de ext-familie — en wijst achterliggende of afgekapte data af in plaats van deze stilletjes te verminken. Binaire (bin) waarden en elke niet-UTF-8 string komen verliesvrij terug als een {"_bytes_hex":"…"} object, en ext-waarden als {"_ext":{"type":N,"hex":"…"}}, zodat encode en decode exact rondgaan. Bytes worden uitgewisseld als zowel hex als base64, zodat ze elke transport overleven. Alles wordt lokaal en deterministisch berekend, dus het is direct en privé. Ideaal voor het debuggen van MessagePack-payloads, het overbruggen van JSON- en msgpack-systemen, RPC- en cache-tooling, IoT-pijplijnen en het onderwijzen van het formaat. Pure lokale berekening — geen sleutel, geen externe dienst, direct. Live, niets opgeslagen. 3 eindpunten. Dit is specifiek MessagePack; voor JSON, YAML, TOML of XML gebruik die formaat-API's, voor BitTorrent's Bencode gebruik de Bencode API, en voor base64, hex, URL of HTML-codering gebruik een algemene coderings-API.

api.oanor.com/msgpack-api

Bencode API

Encodeer en decodeer Bencode (BEP 3) — het serialisatieformaat dat BitTorrent gebruikt voor .torrent-metainfobestanden en trackerreacties. Het encode-eindpunt zet een JSON-waarde om in Bencode: objecten worden woordenboeken met hun sleutels gesorteerd in ruwe bytevolgorde, precies zoals de specificatie vereist; arrays worden lijsten; gehele getallen worden integers; en strings worden lengte-geprefixeerde bytestrings. Het decode-eindpunt parseert Bencode terug naar een JSON-waarde en handhaaft de specificatie strikt — geen voorloopnullen in integers, geen negatieve nul, woordenboeksleutels moeten gesorteerd en uniek zijn, en er wordt geen overbodige data getolereerd — dus ongeldige invoer wordt afgewezen in plaats van stilzwijgend verminkt. Binaire bytestrings die geen geldige UTF-8 zijn, worden verliesvrij weergegeven als een {"_bytes_hex":"…"}-object, zodat encode en decode exact heen en weer kunnen, zelfs voor het binaire "pieces"-veld van een echte torrent. Decode accepteert de gegevens als tekst of, voor echt binaire payloads, als hex; encode retourneert zowel de Bencode-tekst (indien afdrukbaar) als de hex-bytes. Alles wordt lokaal en deterministisch berekend, dus het is onmiddellijk en privé. Ideaal voor het bouwen en parsen van .torrent-bestanden, tracker-tooling, BitTorrent-clients en DHT-berichten, en voor het onderwijzen van hoe het formaat werkt. Zuivere lokale berekening — geen sleutel, geen externe dienst, onmiddellijk. Live, niets opgeslagen. 3 eindpunten. Dit is specifiek BitTorrent's Bencode; voor base64, hex, URL of HTML-codering gebruik een algemene coderings-API, en voor JSON, YAML, TOML of XML gebruik die formaat-API's.

api.oanor.com/bencode-api