ForHosting KIT · Entwickler-Tools

Base45-Encoder und -Decoder

„AB“ wird in Base45 zu BB8: Die Kodierung nach RFC 9285 hält Daten innerhalb der 45 Zeichen, die ein QR-Code im alphanumerischen Modus liest, wie bei den digitalen COVID-Zertifikaten der EU. Auch zurück in Text. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald
Wenn Sie eingeben
Text
AB
Berechnungsmodus
Encode
Erhalten Sie
Ergebnis
BB8
Kodierung
base45
Eingabe-Bytes
2
Ausgabe-Bytes
3

Dieser Base45-Encoder wandelt Klartext in RFC-9285-Base45 um und dekodiert Base45-Zeichenketten zurück in UTF-8-Text, mit dem fünfundvierzig Zeichen umfassenden QR-Code-alphanumerischen Alphabet. Base45 packt zwei Bytes in drei Zeichen und ein übrig bleibendes Byte in zwei Zeichen, was für QR-Nutzlasten kompakter ist als Base64 und dabei innerhalb des alphanumerischen Modus bleibt, den Scanner bereits erwarten. Die Engine ist vollständig deterministisch: Dieselbe Eingabe und derselbe Modus liefern immer dasselbe Ergebnis, ohne Netzwerkaufrufe, ohne zufällige Salts und ohne datumsabhängige Abkürzungen. Klassische Kontrollwerte umfassen die Kodierung von AB zu BB8, Hello!! zu einer Zeichenkette mit einem Leerzeichen, und base-45 zu UJCLQE7W581.

Was Base45 ist und was dieses Werkzeug liefert

Base45 ist die in RFC 9285 definierte Binär-zu-Text-Kodierung für Daten, die im alphanumerischen Modus in QR-Codes reisen. Das Alphabet ist der feste Satz aus fünfundvierzig Zeichen: null bis neun, A bis Z, Leerzeichen, Dollarzeichen, Prozentzeichen, Sternchen, Plus, Minus, Punkt, Schrägstrich und Doppelpunkt. Die Kodierung interpretiert jedes Paar Eingabebytes als sechzehn-Bit-vorzeichenlose Ganzzahl n gleich a mal zweihundertsechsundfünfzig plus b, und schreibt n dann als drei Base-45-Ziffern mit der niedrigstwertigen Ziffer links.

Ein übrig bleibendes letztes Byte wird nur zu zwei Ziffern. Dieses Design passt besser zur QR-alphanumerischen Packung als Base64, das Plus, Schrägstrich und Auffüllung benötigt, die im QR-alphanumerischen Modus unpraktisch sind. Diese Seite folgt immer diesem Vertrag: Der Kodiermodus wandelt Ihren Text in UTF-8 um, packt die Bytes und liefert nur Alphabetzeichen; der Dekodiermodus kehrt den Vorgang um und weist Zeichen außerhalb des Alphabets, unvollständige Gruppen, deren Länge modulo drei eins ergibt, sowie jedes Drei-Zeichen-Triplet zurück, dessen numerischer Wert fünfundsechzigtausendfünfhundertfünfunddreißig übersteigt.

Wenn Sie stattdessen standardmäßiges Base64url für JWTs benötigen, nutzen Sie einen dedizierten Base64url-Endpunkt; diese Landingpage ist nur für das RFC-9285-Alphabet, das QR-basierte verifizierbare Nachweise verwenden.

Wie Text und Modus gelesen werden und wie Ergebnisse reproduzierbar bleiben

Mode ist standardmäßig encode und akzeptiert decode explizit; die Aliase op, direction und action bilden auf denselben Schalter ab, für Skripte, die diese Namen bereits verwenden. Encode akzeptiert jede Unicode-Zeichenkette, wandelt sie mit dem plattformeigenen TextEncoder in UTF-8-Bytes um und gibt dann wie oben beschrieben Base45-Gruppen aus. Decode verlangt eine reine Base45-Zeichenkette: Eine Länge modulo drei gleich eins wird zurückgewiesen, da sie keine ganze Anzahl von Bytes darstellen kann, und jedes Zeichen außerhalb des Alphabets scheitert mit einer klaren Angabe von Index und Zeichen.

Nachdem die Ziffern wiederhergestellt sind, wird jedes Triplet gegen die Sechzehn-Bit-Obergrenze geprüft, sodass Zeichenketten wie GGW, die über fünfundsechzigtausendfünfhundertfünfunddreißig dekodieren würden, scheitern, statt zu überlaufen. Zwei-Zeichen-Enden müssen zu höchstens einem Byte mit dem Wert zweihundertfünfundfünfzig dekodieren. Eine fatale UTF-8-Dekodierung stellt anschließend sicher, dass binärer Datenmüll nicht zu unlesbarem Mojibake-Text wird.

Wo Base45 in QR-Codes zum Einsatz kommt

Frontend-Teams dekodieren gescannte Base45-Segmente bei der Integrationsfehlersuche, ohne Daten in Ad-hoc-Skripte einzufügen, die versehentlich das falsche Alphabet verwenden. Backend-Dienste kodieren kurze binäre Blobs, bevor sie diese in QR-Generatoren einfügen, die nur den alphanumerischen Modus akzeptieren. Qualitätsingenieure erzeugen deterministische Kodier- und Dekodierpaare für Vertragstests, damit eine Middleware, die Base45-Unterstützung behauptet, nicht stillschweigend Tabellen wechseln oder übergroße Tripel akzeptieren kann.

Lehrkräfte nutzen dasselbe Werkzeug beim Unterrichten des Zusammenspiels von QR-alphanumerischem Modus, Fünfzehn-Bit-Symbolpaaren und Base45, einschließlich der klassischen RFC-Beispiele AB zu BB8 und Hello!! mit seinem eingebetteten Leerzeichen. Kombinieren Sie es mit CBOR- oder Zertifikat-Helfern, wenn Sie verwandte Nachweis-Schritte benötigen, und mit weiteren Kodierungs-Endpunkten, wenn Sie ein kleines Labor freier, deterministischer Textwerkzeuge aufbauen.

Verifizierbare QR-Nachweise

RFC-9285-Base45-Nutzlasten kodieren oder dekodieren, wie sie von EU-COVID-Zertifikaten und anderen QR-basierten verifizierbaren Nachweisen verwendet werden.

Was kostet der Base45-Encoder?

Auf dieser Seite ist er im Browser gratis.

Wie unterscheidet sich Base45 von Base64?

Base45 nutzt das 45-Zeichen-QR-alphanumerische Alphabet und packt zwei Bytes in drei Zeichen. Es hat keine Auffüllung und ist für QR-Codes konzipiert, nicht für E-Mail- oder JWT-Segmente.

Was ist ein ungültiges Base45-Triplet?

Eine Drei-Zeichen-Gruppe, deren Wert 65535 übersteigt (zum Beispiel GGW).

Ist das Ergebnis deterministisch?

Ja. Derselbe Text und Modus liefern immer dasselbe Ergebnis, ohne Netzwerk, Zufall oder datumsabhängiges Verhalten.

Warum enthält mein Base45-Ergebnis Leerzeichen?

Weil das Leerzeichen eines der 45 Zeichen von Base45 ist, neben Ziffern, Großbuchstaben und Symbolen wie $, %, * und +. „Hello!!“ ergibt eine Zeichenkette mit einem Leerzeichen. Kopieren Sie daher das ganze Ergebnis samt Leerzeichen, bevor Sie es dekodieren.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

POSThttps://api.kit.forhosting.com/enc/base45

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/enc/base45 \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"AB"}'
{
  "text": "AB"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.base45",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Das Schema treibt die EU-COVID-Zertifikate und andere QR-basierte verifizierbare Nachweise an, die binäre Angaben tragen müssen, ohne den QR-sicheren Zeichensatz zu verlassen. Nutzen Sie es gratis im Browser für die Fehlersuche bei Nachweisen und für Unterricht, oder rufen Sie die API zu $0.002 pro erfolgreicher Anfrage auf, wenn Pipelines reproduzierbare Base45-Umwandlungen in CI und Backend-Diensten benötigen.

Was Base45 ist und was dieses Werkzeug liefert

Die JSON-Antwort enthält result für die umgewandelte Zeichenkette, mode als Echo von encode oder decode, encoding fest auf base45, sowie input_bytes und output_bytes, damit Sie Größen in Tests prüfen können. Es gibt keinen Streaming-Pfad und keinen stillschweigenden Rückfall auf Base64: Entweder ist die Zeichenkette gültiger Base45-Text, oder die Anfrage scheitert mit invalid_input.

Wie Text und Modus gelesen werden und wie Ergebnisse reproduzierbar bleiben

Das bevorzugte Nutzlastfeld ist text, mit den Aliasen input, value und s, damit Formulare, Query-Strings und SDK-Clients denselben Vertrag wiederverwenden können, ohne Spalten umzubenennen. Kombinieren Sie den kostenlosen Browser-Lauf auf dieser Seite mit der kostenpflichtigen API, wenn Sie das identische mathematische Ergebnis innerhalb einer automatisierten Pipeline benötigen, ohne Base45-Tabellen selbst neu zu implementieren. Ungültige Eingaben liefern invalid_input und werden nicht berechnet, was Validierung günstig hält, während erfolgreiche Umwandlungen einen festen Stückpreis von $0.002 behalten.

Wo Base45 in QR-Nachweise, APIs und Test-Fixtures passt

Auf dieser Seite läuft die Berechnung vollständig in Ihrem Browser; über die API kostet jede erfolgreiche Abfrage $0.002, fehlgeschlagene Validierung wird nicht berechnet, und nach der Antwort wird nichts gespeichert. Diese Aufteilung — freie interaktive Erkundung und eine kostenpflichtige, identische API — entspricht dem Rest des KIT-Tier-A-Katalogs und erlaubt es Ihnen, von einer Unterrichtsdemo zu einer automatisierten Pipeline zu wechseln, ohne das kodierte Ergebnis zu ändern.

Alphanumerische QR-Fixtures

Kurzen binär-sicheren Text in Base45 umwandeln, damit QR-Generatoren den alphanumerischen Modus nutzen können, ohne das 45-Zeichen-Alphabet zu verlassen.

Deterministische CI-Fixtures

Reproduzierbare Base45-Zeichenketten für Unit-Tests, Golden-Dateien und Vertragsprüfungen über Wallet- und Scanner-Dienste hinweg erzeugen.

Welche Modi werden unterstützt?

mode=encode (Standard) wandelt Klartext in Base45 um. mode=decode wandelt eine Base45-Zeichenkette zurück in UTF-8-Text um.

Vollständige KIT-Dokumentation lesen →