Base94 Encoder & Decoder
„Hello, world!“ wird in Base94 zu /P|?l:+>Nq\sr<+r. Base94 nutzt jedes druckbare ASCII-Zeichen von ! bis ~ außer dem Leerzeichen, daher trägt jedes Zeichen mehr Information als bei Base64, ohne ASCII zu verlassen. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Text
- Hello, world!
- Ergebnis
- /P|?l:+>Nq\sr<+r
- Berechnungsmodus
- Encode
- Variante
- base94
- Bytes
- 13
Base94-Kodierung bildet Binärdaten auf jedes druckbare ASCII-Zeichen außer dem Leerzeichen ab—vom Ausrufezeichen bis zur Tilde, vierundneunzig Symbole—sodass jedes Zeichen mehr Information trägt als das vierundsechzig Zeichen umfassende Alphabet von Base64 und dennoch im klassischen druckbaren Bereich von Terminals, Chat und Klartext-Konfigurationsdateien bleibt. Wer nach einem Base94-Encoder oder Base94-Decoder sucht, will maximale Textdichte ohne den ASCII-Rahmen zu verlassen, eine einfügesichere Form, die dichter als Base64 für kurze Token ist, oder ein Protokoll, das bereits den vollständigen druckbaren Satz ohne Leerzeichen voraussetzt. Die Kodierung ist deterministisch: UTF-8 und anschließend Umrechnung von Basis zweihundertsechsundfünfzig nach Basis vierundneunzig mit großen Ganzzahlen; die Decodierung lehnt Leerzeichen, Steuerzeichen und jedes Symbol außerhalb des Alphabets ab, statt stille Ersetzungen zu erfinden.
UTF-8-Text nach Base94 kodieren für maximale druckbare Dichte
Die Engine interpretiert die Zeichenkette als Unicode-Text, serialisiert sie zu UTF-8-Bytes und wandelt diese Bytes mit Big-Integer-Arithmetik von Basis zweihundertsechsundfünfzig nach Basis vierundneunzig um. Jeder Rest indiziert das feste Alphabet vom Ausrufezeichen bis zur Tilde—genau vierundneunzig druckbare ASCII-Zeichen ohne Leerzeichen und ohne Steuercodes—sodass das Ergebnis stets eine dichte, einfügesichere Zeichenkette für Kanäle ist, die jedes druckbare Nicht-Leerzeichen akzeptieren. Führende Null-Bytes in der UTF-8-Nutzlast werden auf führende Ausrufezeichen abgebildet (Alphabetindex null), analog zur führenden-Eins-Konvention von Base58, sodass Roundtrips die Länge erhalten und leere Nutzlasten leer bleiben.
Mehrsprachiger Text, Emoji und Interpunktion werden korrekt kodiert, weil der Pfad volles UTF-8 ist, kein Latin-1-Abkürzung. Die Antwort enthält stets result mit der Base94-Zeichenkette, mode gleich encode, variant gleich base94, bytes gleich der UTF-8-Länge vor der Kodierung und alphabet mit der vollständigen vierundneunzig Zeichen langen Zeichenkette, damit Sie das Alphabet in Tests prüfen können. Identische Eingaben erzeugen stets identische Ausgaben, weil der Algorithmus reine Arithmetik ohne Netzwerk, ohne Zufallssalz und ohne Wanduhr ist.
Nutzen Sie diesen Pfad, wann immer Sie dichteres textsicheres Packen als Base64 für kurze Token, Konfigurationsfragmente, Dokumentationsbeispiele oder jede Pipeline brauchen, die bereits den vollständigen druckbaren ASCII-Satz ohne Leerzeichen duldet.
Base94 zurück zu Text decodieren und ungültige Zeichen behandeln
Setzen Sie mode auf decode und legen Sie eine Base94-Zeichenkette in text. Das Alphabet ist streng: nur die vierundneunzig Zeichen vom Ausrufezeichen bis zur Tilde werden akzeptiert. Führende Ausrufezeichen werden als führende Null-Bytes decodiert und entsprechen dem Encode-Pfad, sodass längenerhaltende Roundtrips stabil bleiben.
Erfolgreiches Decode liefert result als wiedergewonnene Zeichenkette, mode decode, variant base94, bytes als decodierte UTF-8-Länge und alphabet symmetrisch zu Encode-Antworten. Bevorzugen Sie diese Fähigkeit, wenn die Suchabsicht wörtlich base94 encoder, base94 decoder oder druckbare ascii-basiskodierung für menschenlesbaren Inhalt ist; Standard-Base64, URL-sicheres Base64, Base58 und Ascii85 bleiben getrennte Werkzeuge mit eigenen Landings und Alphabeten.
Wofür sich Base94 eignet und wo es hakt
Rufen Sie den kostenlosen Base94-Encoder im Browser für Unterrichtsdemos, Support-Playbooks, Dichtevergleiche mit Base64 und einmalige Konvertierungen ohne maßgeschneiderte Bibliotheken auf. Ein typischer Workflow kodiert einen kurzen Konfigurationswert zur Speicherung in einem reinen Textticket, das jedes druckbare ASCII außer Leerzeichen erlaubt, versendet ihn per E-Mail oder Chat und decodiert ihn auf dem empfangenden Dienst mit mode decode und prüft, dass bytes der Originalänge entspricht.
Kombinieren Sie diesen Endpunkt mit einem Base64- oder Base85-Werkzeug, wenn ein Partnersystem nur diese Alphabete spricht, halten Sie die Schritte aber auf getrennten Landings, damit jede Seite einer einzigen Suchabsicht entspricht—Base94 maximale druckbare Dichte versus Base64-Ubiquität oder Ascii85-Adobe-Streams. Autoren, die SDKs ausliefern, können das result-Feld direkt auf einen Kopierbutton legen, während die Labels mode, variant und alphabet OpenAPI-Beispiele für Leser selbsterklärend machen, die den vollständigen Satz von vierundneunzig druckbaren Zeichen brauchen.
Anwendungsfälle
Dichte-Benchmarks gegenüber Base64 und Base85
Vergleichen Sie die kodierte Länge derselben Nutzlast über Base94, Base64 und Ascii85, wenn Sie eine textsichere Darstellung für Dokumentationsbeispiele oder Protokolldesign-Notizen wählen.
Häufige Fragen
Wie decodiert man Base94 zurück zu Text?
Setzen Sie mode auf decode und legen Sie die Base94-Zeichenkette in text. Nur die 94 druckbaren ASCII-Symbole von ! bis ~ werden akzeptiert. Das result-Feld ist der wiedergewonnene UTF-8-Text.
Was geschieht bei einem ungültigen Base94-Zeichen?
Zeichen außerhalb des Alphabets (einschließlich Leerzeichen und Steuercodes) werden mit einer Meldung abgelehnt, die Zeichen und Index nennt; Validierungsfehler werden nicht berechnet.
Worin unterscheidet sich Base94 von Base64?
Base94 nutzt alle 94 druckbaren ASCII-Zeichen außer Leerzeichen (!–~) für dichteres Packen als das 64-Symbol-Alphabet von Base64. Dieses Werkzeug ist weder Base64 noch Base58 noch Ascii85—diese haben eigene Landings und Alphabete.
Wie kodiere ich Text in Base94?
Geben Sie den Text ein und lassen Sie die Voreinstellung Kodieren stehen. Aus „Hello, world!“ wird /P|?l:+>Nq\sr<+r. Ihr Text wird zuerst in UTF-8-Bytes übersetzt, deshalb funktionieren auch Umlaute, andere Schriften und Emojis.
Warum beginnt mein Base94-Ergebnis mit Ausrufezeichen?
Das Ausrufezeichen ist das erste Symbol des Alphabets und steht für null. Führende Null-Bytes in Ihren Daten werden deshalb zu führenden Ausrufezeichen, und beim Dekodieren werden sie wieder zu Null-Bytes, damit die Länge exakt stimmt.
Verwandte Tools
Für Entwickler — API-Zugang
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.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/enc/base94 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, world!"}'const res = await fetch("https://api.kit.forhosting.com/enc/base94", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, world!"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/base94",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, world!"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/base94", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, world!"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, world!"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/base94", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"text": "Hello, world!"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.base94",
"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.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Diese Fähigkeit erledigt diese Aufgabe klar: wählen Sie den Modus encode oder decode, fügen Sie ein Textfeld ein und erhalten Sie die transformierte Zeichenkette plus Bytelänge und das feste Alphabet—oder einen klaren invalid_input-Fehler, wenn die zu decodierende Nutzlast ein Zeichen außerhalb des vierundneunzig-Symbol-Satzes enthält.
UTF-8-Text nach Base94 kodieren für maximale druckbare Dichte
Senden Sie einen JSON-Body mit dem Pflicht-Zeichenkettenfeld text gleich der Klartextnachricht, die Sie in Base94 darstellen möchten, und lassen Sie mode beim Standard encode oder setzen Sie mode ausdrücklich auf encode. Optionale Aliasse input, value und s werden für dasselbe Feld akzeptiert, wenn Sie Clients aus älteren Formularnamen erzeugen.
Base94 zurück zu Text decodieren und ungültige Zeichen behandeln
Jedes andere Zeichen—einschließlich Leerzeichen, Tabulator, Zeilenumbruch, Steuercodes oder Bytes außerhalb des druckbaren Bereichs—führt zu einem sofortigen invalid_input-Fehler mit einer Meldung, die das ungültige Base94-Zeichen und seinen Index nennt, damit Clients den Einfügefehler beheben statt beschädigtes Unicode zu erhalten. Nach der Alphabetvalidierung werden die wiedergewonnenen Bytes mit einem fatalen Decoder als UTF-8 gelesen: ist die Nutzlast kein gültiger Unicode-Text, erhalten Sie invalid_input statt Ersatzzeichen, die nachgelagerte Anzeigen verderben würden. Validierungsfehler werden auf der prepaid API nicht berechnet, sodass das Prüfen eines verdächtigen Tokens für Betreiber günstig und für Endnutzer sicher ist.
API-Nutzung, Preise, Workflows und praktische Grenzen
Nutzen Sie die prepaid KIT-API, wenn ein Backend, eine Serverless-Funktion oder ein SDK denselben Encode- oder Decode-Schritt unter Guthaben zu $0.002 pro erfolgreichem Element braucht; fehlgeschlagene Validierung verbraucht nie Guthaben, sobald die Engine die Anfrage ablehnt.
Integrationsbeispiele
Maximal dichte textsichere Token
Packen Sie kurze UTF-8-Geheimnisse oder Konfigurationsfragmente dichter als Base64 für Tickets, Chat und JSON, die jedes druckbare ASCII außer Leerzeichen akzeptieren; decodieren Sie anschließend auf dem empfangenden Dienst mit demselben mode-Feld.
Dokumentation und CI-Golden-Checks
Fixieren Sie Encode- und Decode-Fixtures, damit Dokumentationsbeispiele und Continuous-Integration-Tests schnell fehlschlagen, wenn das Base94-Alphabet oder die Regeln für führende Nullen abweichen.
Technische Fragen
Wie kodiert man Text nach Base94?
Senden Sie JSON mit text gleich Ihrer UTF-8-Klartextzeichenkette und mode encode (oder lassen Sie mode weg; encode ist der Standard). Das result-Feld der Antwort enthält die Base94-Zeichenkette und bytes ist die UTF-8-Länge.
Ist der Base94-Encoder kostenlos?
Das Browser-Werkzeug läuft kostenlos auf Ihrem Gerät. API-Aufrufe nutzen prepaid KIT-Guthaben zu $0.002 pro erfolgreichem Element; Validierungsfehler werden nicht berechnet.