#serialization
3 APIs mit diesem Tag
CBOR API
Codieren und Decodieren von CBOR (RFC 8949, Concise Binary Object Representation) – dem IETF-Standard-Binärdatenformat hinter COSE, WebAuthn/FIDO2, dem EU Digitalen COVID-Zertifikat und vielen IoT- und Geräteprotokollen mit eingeschränkten Ressourcen. Der Encode-Endpunkt wandelt einen JSON-Wert in kompaktes, definite-length CBOR um und wählt den kleinsten Header für jede Ganzzahl, Zeichenkette, jedes Array und jede Map; der Decode-Endpunkt parst CBOR zurück in einen JSON-Wert. Es implementiert die Spezifikation über alle wichtigen Typen hinweg – vorzeichenlose und negative Ganzzahlen jeder Breite, Byte- und Textzeichenketten (einschließlich chunked Strings mit unbestimmter Länge), Arrays, Maps, Tags, die einfachen Werte false/true/null und Halb-, Einfach- und Doppelpräzisions-Gleitkommazahlen – und lehnt nachfolgende oder abgeschnittene Daten ab, anstatt sie stillschweigend zu verstümmeln. Byte-Strings und nicht-UTF-8-Text werden verlustfrei als {"_bytes_hex":"…"} zurückgegeben, Tags als {"_tag":{"tag":N,"value":…}}, nicht-endliche Gleitkommazahlen als {"_float":"NaN|Infinity|-Infinity"} und andere einfache Werte als {"_simple":N}, sodass Encode und Decode exakt rundlaufen. Bytes werden sowohl als Hex als auch als Base64 ausgetauscht, sodass sie jeden Transport überstehen. Alles wird lokal und deterministisch berechnet, daher ist es sofort und privat. Ideal zum Debuggen von CBOR-, COSE- und WebAuthn-Payloads, zur Überbrückung von JSON- und CBOR-Systemen, IoT- und Smart-Card-Pipelines und zum Lehren des Formats. Reine lokale Berechnung – kein Schlüssel, kein Drittanbieterdienst, sofort. Live, nichts wird gespeichert. 3 Endpunkte. Dies ist speziell CBOR; für MessagePack verwenden Sie die MessagePack-API, für BitTorrents Bencode die Bencode-API, für JSON, YAML, TOML oder XML die entsprechenden Format-APIs und für Base64-, Hex-, URL- oder HTML-Kodierung eine allgemeine Kodierungs-API.
api.oanor.com/cbor-api
MessagePack-API
Codieren und Decodieren von MessagePack – dem kompakten binären Serialisierungsformat („es ist wie JSON, aber schnell und klein“), das von Redis, Fluentd, vielen RPC-Systemen und IoT-Protokollen verwendet wird. Der Encode-Endpunkt wandelt einen JSON-Wert in MessagePack-Bytes um und wählt automatisch die kleinste Darstellung für jede Ganzzahl, Zeichenkette, jedes Array und jede Map; der Decode-Endpunkt parst MessagePack zurück in einen JSON-Wert. Es implementiert die vollständige Spezifikation – nil, Booleans, jede feste und variable Ganzzahlbreite, float32 und float64, str und bin, Arrays und Maps sowie die ext-Familie – und lehnt nachfolgende oder abgeschnittene Daten ab, anstatt sie stillschweigend zu verstümmeln. Binäre (bin) Werte und alle nicht-UTF-8-Zeichenketten werden verlustfrei als ein {"_bytes_hex":"…"}-Objekt zurückgegeben, und ext-Werte als {"_ext":{"type":N,"hex":"…"}}, sodass Encode und Decode exakt rundlaufen. Bytes werden sowohl als Hex als auch als Base64 ausgetauscht, damit sie jeden Transport überstehen. Alles wird lokal und deterministisch berechnet, daher ist es sofort und privat. Ideal zum Debuggen von MessagePack-Nutzlasten, zur Brücke zwischen JSON- und msgpack-Systemen, für RPC- und Cache-Tools, IoT-Pipelines und zum Lehren des Formats. Reine lokale Berechnung – kein Schlüssel, kein Drittanbieterdienst, sofort. Live, nichts gespeichert. 3 Endpunkte. Dies ist speziell MessagePack; für JSON, YAML, TOML oder XML verwenden Sie diese Format-APIs, für BitTorrents Bencode die Bencode-API und für Base64, Hex, URL oder HTML-Codierung eine allgemeine Codierungs-API.
api.oanor.com/msgpack-api
Bencode API
Kodieren und Dekodieren von Bencode (BEP 3) – dem Serialisierungsformat, das BitTorrent für .torrent-Metainfo-Dateien und Tracker-Antworten verwendet. Der Encode-Endpunkt wandelt einen JSON-Wert in Bencode um: Objekte werden zu Wörterbüchern, deren Schlüssel in roher Byte-Reihenfolge genau nach Spezifikation sortiert sind, Arrays werden zu Listen, ganze Zahlen zu Integer und Zeichenketten zu längenpräfixierten Byte-Strings. Der Decode-Endpunkt parst Bencode zurück in einen JSON-Wert und setzt die Spezifikation streng durch – keine führenden Nullen in Integer, keine negative Null, Wörterbuchschlüssel müssen sortiert und eindeutig sein, und keine nachfolgenden Daten werden toleriert – so wird fehlerhafte Eingabe abgelehnt, anstatt stillschweigend verfälscht zu werden. Binäre Byte-Strings, die kein gültiges UTF-8 sind, werden verlustfrei als ein {"_bytes_hex":"…"}-Objekt dargestellt, sodass Kodierung und Dekodierung selbst für das binäre "pieces"-Feld eines echten Torrents exakt rundlaufen. Decode akzeptiert die Daten entweder als Text oder, für wirklich binäre Nutzlasten, als Hex; Encode gibt sowohl den Bencode-Text (wenn druckbar) als auch seine Hex-Bytes zurück. Alles wird lokal und deterministisch berechnet, daher ist es sofort und privat. Ideal zum Erstellen und Parsen von .torrent-Dateien, Tracker-Werkzeugen, BitTorrent-Clients und DHT-Nachrichten sowie zum Lehren, wie das Format funktioniert. Reine lokale Berechnung – kein Schlüssel, kein Drittanbieter-Dienst, sofort. Live, nichts gespeichert. 3 Endpunkte. Dies ist speziell BitTorrents Bencode; für base64, Hex, URL oder HTML-Kodierung verwenden Sie eine allgemeine Kodierungs-API, und für JSON, YAML, TOML oder XML verwenden Sie die entsprechenden Format-APIs.
api.oanor.com/bencode-api