Base85 RFC 1924
„Hello World“ wird in Base85 nach RFC 1924 zu 7KPt{PR^XAyM<W. Das Alphabet aus 85 Zeichen sollte eine 128-Bit-IPv6-Adresse in zwanzig Zeichen fassen; hier gilt es für beliebigen Text, ohne Leerzeichen, Anführungszeichen oder Schrägstriche. 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
- Berechnungsmodus
- Encode
- Ergebnis
- 7KPt{PR^XAyM<W
- Eingabe
- Hello World
- Base85 (RFC 1924)
- 7KPt{PR^XAyM<W
- Alphabetname
- rfc1924
Implementiert Base85 RFC 1924 deterministisch (Parse). Geben Sie Wert und ggf. Modus ein für eine exakte Konvertierung ohne Netz.
Ein Alphabet für IPv6-Adressen
RFC 1924 schlug eine kompakte Schreibweise für IPv6-Adressen vor: Die ganze 128-Bit-Adresse wird als eine einzige Zahl behandelt und zur Basis 85 neu geschrieben, sodass sie in zwanzig druckbare Zeichen passt statt in die lange Hexadezimalform mit Doppelpunkten. Das Alphabet ist fest: die Ziffern 0 bis 9, die Buchstaben A bis Z und a bis z sowie dreiundzwanzig Satzzeichen wie !, #, %, & und ~. Bewusst fehlen Leerzeichen, Anführungszeichen, Komma, Punkt, Schrägstrich, Doppelpunkt, eckige Klammern und Backslash, damit sich kodierte Zeichenketten problemlos in Shells und Konfigurationsdateien einfügen lassen. Dieses Werkzeug nutzt dasselbe Alphabet für gewöhnlichen UTF-8-Text.
Wie die Umwandlung funktioniert und wo Fehler entstehen
Ihr Text wird in UTF-8-Bytes übersetzt, als eine große Zahl gelesen und immer wieder durch 85 geteilt; jeder Rest wählt ein Zeichen des Alphabets. Führende Null-Bytes werden zu führenden Zeichen 0, weil die 0 das erste Symbol ist, und das Dekodieren stellt sie wieder her. „Hello World“ mit 11 Bytes wird zu den 14 Zeichen 7KPt{PR^XAyM<W. Häufige Fehler sind eine eingefügte Zeichenkette mit Leerzeichen, Komma oder Anführungszeichen, die der Decoder unter Angabe von Zeichen und Position ablehnt, und die Erwartung einer IPv6-Adresse mit Doppelpunkten: Diese Seite wandelt Text um, keine Adressen.
Zweck
Kodierer und Basisumrechnungen werden oft gesucht. Base85 RFC 1924 setzt UTF-8↔Base85 RFC1924 mit strenger Validierung um. Goldens fixieren Ein- und Ausgaben für ein Orakel.
Das Webformular zeigt Params mit Beschriftungen in acht Sprachen.
Einsatz
Nutzen Sie Base85 RFC 1924 für die beschriebene exakte Konvertierung, nicht für ein volles Kryptopaket. Ersetzt keine schlüsselbasierten Chiffren. Kombinieren Sie sie mit anderen enc.-Hilfen.
Dokumentieren Sie Limits und Modi.
Anwendungsfälle
Unterricht mit Base85 RFC 1924.
Unterricht mit Base85 RFC 1924.
Unit-Tests zur Kodierung.
Unit-Tests zur Kodierung.
Text-Pipeline-Hilfen.
Text-Pipeline-Hilfen.
Häufige Fragen
Welche Zeichen lässt Base85 nach RFC 1924 weg und warum?
Es verzichtet auf Leerzeichen, Anführungszeichen, Komma, Punkt, Schrägstrich, Doppelpunkt, eckige Klammern und Backslash. So lassen sich die kodierten Zeichenketten ohne Ärger mit Anführungszeichen in eine Shell oder eine Konfigurationsdatei einfügen.
Warum beginnt meine kodierte Zeichenkette mit Nullen?
Führende Null-Bytes in Ihren Daten werden zu führenden Zeichen 0, weil die 0 das erste Symbol des Alphabets ist. Beim Dekodieren wird jede davon wieder zu einem Null-Byte, und Sie erhalten genau die ursprünglichen Bytes zurück.
Was passiert, wenn ich eine Zeichenkette mit Leerzeichen oder Komma dekodiere?
Das Dekodieren bricht mit einer klaren Meldung ab, die das Zeichen und seine Position nennt. Leerzeichen, Kommas, Anführungszeichen, Klammern und jedes andere Symbol außerhalb der 85 Zeichen werden abgelehnt, damit nie still ein anderer Text entsteht.
Wofür wurde Base85 nach RFC 1924 erfunden?
Um eine vollständige IPv6-Adresse mit 128 Bit in nur zwanzig druckbaren Zeichen zu schreiben statt in der langen Hexadezimalform mit Doppelpunkten. Dieses Werkzeug wendet dasselbe Alphabet auf UTF-8-Text an; IPv6-Adressen formatiert es nicht.
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/base85-rfc1924 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello World"}'const res = await fetch("https://api.kit.forhosting.com/enc/base85-rfc1924", {
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/base85-rfc1924",
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/base85-rfc1924", 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/base85-rfc1924", 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.base85_rfc1924",
"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.
Limits
max_chars | 100000 |
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
API $0.002 pro Erfolg; kostenloses Web mit demselben Kern für Unterricht, Tests und Hilfen.
Zweck
Kein Zustand, keine Uhr. invalid_input verhindert stille Fehlausgaben.
Ablauf
Optionale Felder entfallen, nie null. Limits aus params und cap.json gelten im Code. Nach der Validierung transformiert der Kern und liefert stabiles JSON. Die API kostet $0.002 pro Erfolg.
Einsatz
Kein Abo; nur Abrechnung bei erfolgreicher Nutzung der API.
Technische Fragen
Ist es deterministisch?
Ja: gleicher Eingang, gleicher Ausgang.
Netz oder KI?
Nein; nur Parse.
Ungültige Eingabe?
invalid_input mit klarer Meldung.
Preis?
API $0.002 pro Erfolg; Web kostenlos.
Gibt es ein Widget?
Ja, Tier A mit derselben lib.js.