UTF-7 kodieren und dekodieren
Kodieren Sie Text in UTF-7, damit er reine Sieben-Bit-Kanäle übersteht: Aus café wird caf+AOk-, und das Dekodieren liefert das ursprüngliche Wort zurück. Englische Buchstaben bleiben lesbar, nur andere Zeichen landen in kurzen Abschnitten. 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
- café
- Berechnungsmodus
- Encode
- Ergebnis
- caf+AOk-
- Kodierung
- utf-7
- Eingabelänge
- 4
- Ausgabelänge
- 8
Dieser UTF-7-Kodierer wandelt einfachen Unicode-Text in die 7-Bit-sichere UTF-7-Transformation nach RFC 2152 um und dekodiert UTF-7-Zeichenketten zurück zu lesbarem Unicode. Die Engine ist vollständig deterministisch: dieselbe Eingabe und derselbe Modus liefern immer dasselbe Ergebnis, ohne Netzaufrufe, ohne Zufallssalze und ohne datumsabhängige Abkürzungen. Übliche Prüfungen sind die Kodierung von café zu caf+AOk- und die Dekodierung dieser Zeichenkette zurück zum Originalwort.
Was UTF-7 ist und was dieses Werkzeug zurückgibt
UTF-7 ist eine Content-Transfer-artige Kodierung für Unicode, damit Text Systeme durchlaufen konnte, die nur 7-Bit-ASCII-Sicherheit garantierten. Zeichen der direkten Menge — Buchstaben, Ziffern, eine kurze Zeichensetzungsliste, optionales druckbares ASCII und gewöhnlicher Leerraum — erscheinen als sie selbst, sodass englische Prosa in der kodierten Form menschenlesbar bleibt.
Jedes Zeichen außerhalb dieser Menge, einschließlich akzentuierter lateinischer Buchstaben, Griechisch, CJK, Emoji und anderer Codepunkte außerhalb des BMP, wird in einem verschobenen Lauf gesammelt: ein Pluszeichen, ein modifizierter Base64-Körper ohne Füll-Gleichheitszeichen und ein optionaler Bindestrich-Terminator, wenn das nächste Zeichen sonst in das Base64-Alphabet aufgenommen würde. Ein wörtliches Pluszeichen ist ein Sonderfall als Plus-Bindestrich, damit nie versehentlich ein Shift beginnt.
Diese Seite folgt stets dem RFC-2152-Vertrag für Klartext: der encode-Modus wandert Unicode-Codepunkte ab, lässt direkte Zeichen durch, packt nicht-direkte Läufe als Big-Endian-UTF-16-Einheiten und emittiert die verschobene Base64-Form; der decode-Modus kopiert direkten Text, expandiert verschobene Läufe und lehnt leere oder unvollständige Base64-Körper ab, statt zu raten. Für opakes binäres Packen bevorzugen Sie Base64- oder Base64url-Endpunkte; für IMAP-modifiziertes UTF-7 von Postfachnamen mit Ampersand-Introducer gilt ein anderes Alphabet — das ist nicht diese Seite.
Wo Ihnen UTF-7 noch begegnet
Entwickler treffen UTF-7 an, wenn sie historische Mail-Kodierungen prüfen, Interoperabilitätsfälle aus RFC-2152-Beispielen wie der lächelnden Sequenz Hi Mom -+Jjo! nachvollziehen oder bestätigen, dass ein café-Akzent zu einem kurzen verschobenen Lauf wird statt undurchsichtigem Base64 für die ganze Nachricht. Frontend- und Support-Teams dekodieren UTF-7-Schnipsel bei Ticket-Untersuchungen, ohne Daten in Ad-hoc-Skripte zu kleben, die den Bindestrich-Terminator falsch behandeln oder Plus-Bindestrich als leeren Shift werten.
Backend-Dienste kodieren Konfigurationsproben oder kurze mehrsprachige Zeichenketten, bevor sie sie auf beschränkte Siebenbit-Pfade legen, wo achtbit-sauberer Transport nicht garantiert ist. Qualitätsingenieure erzeugen deterministische encode- und decode-Paare für Vertragstests, damit eine Bibliothek mit UTF-7-Anspruch Terminatorregeln nicht still ändern oder Restzeichen nach einem verschobenen Lauf verwerfen kann. Lehrende nutzen dasselbe Werkzeug, um den Unterschied zwischen UTF-8-Byte-Hexdumps, quoted-printable-Equals-Hex-Escapes und UTF-7-Pluszeichen-Base64 für überwiegend textuelle Nutzlasten zu vermitteln.
Kombinieren Sie es mit quoted-printable- und Base64-Helfern, wenn Sie verwandte Transferkodierungen brauchen, und mit anderen Textwerkzeugen, wenn Sie ein kleines Labor freier, deterministischer Kodierer aufbauen.
Anwendungsfälle
Legacy-Mail-Fehlersuche
Kodieren oder dekodieren Sie UTF-7-Schnipsel aus historischen Nachrichten, damit Akzente und verschobene Base64-Läufe dem entsprechen, was ältere Gateways erwarteten.
Vorbereitung von Siebenbit-Pfaden
Wandeln Sie einfachen Unicode-Text in transport-sicheres UTF-7 um, bevor Sie über beschränkte nur-ASCII-Kanäle senden.
Häufige Fragen
Was kostet der UTF-7-Kodierer?
Er ist auf dieser Seite in Ihrem Browser kostenlos.
Worin unterscheidet sich UTF-7 von Base64 oder UTF-8?
UTF-8 ist eine Bytekodierung von Unicode. Base64 kodiert jedes Byte in ein undurchsichtiges Alphabet. UTF-7 hält die meiste ASCII lesbar und verschiebt nur nicht-direkte Zeichen in pluszeichen-Base64-Läufe von UTF-16BE-Einheiten.
Was geschieht bei einer fehlerhaften Shift-Sequenz?
Ein abschließendes einzelnes Plus, ein leerer Base64-Körper nach Plus oder eine ungerade dekodierte Bytelänge werden abgelehnt statt geraten.
Ist das Ergebnis deterministisch?
Ja. Derselbe text und mode liefern immer dasselbe Ergebnis ohne Netz, Zufall oder datumsabhängiges Verhalten.
Warum wird aus café in UTF-7 caf+AOk-?
Die Buchstaben c, a und f gehören zum direkten Zeichensatz und bleiben unverändert. Das é nicht, deshalb landet es in einem verschobenen Abschnitt: ein Pluszeichen, ein kurzer Base64-Block ohne Auffüllung und ein abschließender Bindestrich.
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/utf7 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"café"}'const res = await fetch("https://api.kit.forhosting.com/enc/utf7", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "café"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/utf7",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "café"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/utf7", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"café"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"café"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/utf7", 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": "café"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.utf7",
"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
Nutzen Sie es kostenlos im Browser zur Mail-Fehlersuche und Unicode-Übung, oder rufen Sie die API zu $0.002 pro erfolgreicher Anfrage auf, wenn Pipelines reproduzierbare UTF-7-Transformationen in CI und Backend-Diensten brauchen.
Was UTF-7 ist und was dieses Werkzeug zurückgibt
Die JSON-Antwort enthält result für die transformierte Zeichenkette, mode mit encode oder decode, encoding fest auf utf-7 sowie input_length und output_length gemessen in JavaScript-Stringlänge, damit Tests Größen prüfen können. Es gibt keinen Streaming-Pfad und keine stille Reparatur kaputter Shifts: entweder ist die Zeichenkette gültiges UTF-7 oder die Anfrage scheitert mit invalid_input.
Wie text und mode gelesen werden und Ergebnisse reproduzierbar bleiben
Mode ist standardmäßig encode und akzeptiert decode ausdrücklich; Aliasse op, direction und action mappen auf denselben Schalter für Skripte, die diese Namen bereits verwenden. Encode akzeptiert jede Unicode-Zeichenkette, wandert Codepunkte ab, damit Surrogatpaare außerhalb der Basic Multilingual Plane intakt bleiben, gibt Set-D- und Set-O-Zeichen sowie Leerraum als sie selbst aus, mappt ein nacktes Plus auf Plus-Bindestrich und umhüllt nicht-direkte Läufe in verschobenem modifiziertem Base64. Nach der Wiederherstellung werden Bytes als UTF-16BE-Codeeinheiten interpretiert und zu einer JavaScript-Zeichenkette zusammengefügt. Das bevorzugte Payload-Feld ist text, mit Aliassen input, value und s, damit Formulare, Query-Strings und SDK-Clients denselben Vertrag ohne Umbenennung von Spalten nutzen. Decode verlangt eine wohlgeformte UTF-7-Zeichenkette: ein alleinstehendes Plus am Eingabeende, ein Plus gefolgt von einem Nicht-Base64-Zeichen, das kein Bindestrich ist, ein leerer Base64-Körper oder ein Base64-Körper, der zu einer ungeraden Byteanzahl expandiert, scheitern alle mit einer klaren invalid_input-Meldung, die die fehlerhafte Shift-Sequenz benennt. Kombinieren Sie den kostenlosen Browserlauf auf dieser Seite mit der kostenpflichtigen API, wenn Sie dasselbe mathematische Ergebnis in einer automatisierten Pipeline brauchen, ohne UTF-7-Tabellen selbst neu zu implementieren. Ungültige Eingaben liefern invalid_input und werden nicht berechnet, was die Validierung günstig hält, während erfolgreiche Transformationen einen festen Stückpreis von $0.002 behalten.
Wo UTF-7 in Mail, Legacy-Gateways und Test-Fixtures passt
Auf dieser Seite läuft die Arbeit 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 — kostenlose interaktive Erkundung und eine preisgleiche API — entspricht dem übrigen KIT-Tier-A-Katalog und lässt Sie von einer Klassendemonstration zu einer automatisierten Pipeline wechseln, ohne das kodierte Ergebnis zu ändern.
Integrationsbeispiele
RFC-2152-Fixture-Erzeugung
Erzeugen Sie reproduzierbare UTF-7-Zeichenketten für Unit-Tests, Golden-Dateien und Interoperabilitätsprüfungen gegen RFC-Beispiele.
Technische Fragen
Welche Modi werden unterstützt?
mode=encode (Standard) wandelt Klartext in UTF-7 um. mode=decode wandelt eine UTF-7-Zeichenkette zurück in Unicode-Text.