ForHosting KIT · Entwickler-Tools

Modifiziertes UTF-7 IMAP

Erhalten Sie genau den Ordnernamen, den ein IMAP-Server erwartet: Aus Inbox/日本語 wird Inbox/&ZeVnLIqe-, und ein kryptischer Name aus einem Protokoll wird wieder lesbar. Rein englische Namen bleiben unverändert. 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
Inbox/日本語
Berechnungsmodus
Encode
Erhalten Sie
Ergebnis
Inbox/&ZeVnLIqe-
Kodierung
modified_utf7_imap
Eingabelänge
9
Ausgabelänge
16

IMAP-Postfachnamen auf dem Draht verwenden einen Dialekt von UTF-7 namens modifiziertes UTF-7 (RFC 3501 Abschnitt 5.1.3). Druckbare US-ASCII-Zeichen außer dem Ampersand behalten ihre gewöhnliche Form; ein allein stehendes Ampersand wird zur Zwei-Zeichen-Sequenz Ampersand-Bindestrich; und jedes andere Zeichen—Akzente, CJK, Emoji und Steuerzeichen—wird als UTF-16BE in einem modifizierten Base64-Abschnitt verpackt, der mit Ampersand beginnt und mit Bindestrich endet, wobei der Schrägstrich durch ein Komma ersetzt wird. Dieses Werkzeug kodiert einen lesbaren Unicode-Ordnernamen in diese Drahtzeichenkette oder dekodiert eine LIST/SELECT-Antwort zurück in lesbaren Text.

Was IMAP-modifiziertes UTF-7 ist und was dieser Konverter zurückgibt

Standard-Postfachprotokolle tauschen Ordnernamen weiterhin als 7-Bit-sichere Zeichenketten aus, auch wenn Benutzer Bezeichnungen auf Japanisch, Spanisch, Arabisch oder mit Emoji anlegen. IMAP löste das mit modifiziertem UTF-7 statt rohem UTF-8 auf jedem Serverpfad: der Name bleibt größtenteils lesbar, wenn er rein englisch ist, während internationale Segmente zu kompakten, mit Ampersand umschlossenen Blöcken werden. Die Kodierungsregeln sind streng.

Zeichen im Bereich Leerzeichen bis Tilde, außer Ampersand, werden unverändert geschrieben. Ampersand selbst bleibt nie nackt; es wird stets als Ampersand gefolgt von Bindestrich geschrieben, damit Parser den folgenden Base64-Block als bewussten Shift behandeln. Jedes Zeichen außerhalb dieser direkten Menge wird in einem Lauf gesammelt, in Big-Endian-UTF-16-Codeeinheiten umgewandelt und dann mit dem klassischen Alphabet Base64-kodiert, außer dass das vierundsechzigste Symbol Komma statt Schrägstrich ist und Füll-Gleichheitszeichen weggelassen werden.

Der encode-Modus liefert diese Drahtzeichenkette plus den aufgelösten Modus, ein festes Kodierungsetikett und Ein- und Ausgabelängen. Der decode-Modus kehrt den Weg um: er kopiert direktes ASCII, expandiert Ampersand-Bindestrich zu einem einzelnen Ampersand und wandelt jeden Abschnitt Ampersand-Nutzlast-Bindestrich zurück in Unicode.

Wo die Kodierung von Postfachnamen in Clients, Servern und Tests passt

Client-Autoren begegnen modifiziertem UTF-7, wenn sie CREATE, RENAME, LIST oder LSUB implementieren und der Drahtname dem entsprechen muss, was Dovecot, Cyrus, Exchange oder Gmail für internationale Ordner erwarten. Support-Ingenieure fügen ein kryptisches Ordner-Token aus einem Protokollprotokoll ein und brauchen die menschliche Bezeichnung ohne Desktop-Client. Backend-Dienste normalisieren nutzerseitige Ordnertitel, bevor sie sie in einem IMAP-Proxy speichern oder SELECT-Ziele in Integrationstests vergleichen.

Qualitätssicherungs-Ingenieure erzeugen encode- und decode-Paare für Vertragstests, damit ein Bibliotheks-Upgrade nicht stillschweigend Komma versus Schrägstrich im Base64 ändern oder das Ampersand-Escaping auslassen kann. Lehrende nutzen dieselbe Seite, um den Unterschied zwischen UTF-8-Postfach-Erweiterungen, legacy-modifiziertem UTF-7 und Anzeigenamen zu vermitteln, die nie den Draht erreichen. Kombinieren Sie es mit anderen kostenlosen Encodern im Katalog, wenn Sie ein kleines Labor deterministischer Textwerkzeuge für Mail- und MIME-Arbeit aufbauen.

Debugging von IMAP-Clients und -Servern

Kodieren Sie Unicode-Ordnernamen für CREATE oder SELECT, oder dekodieren Sie LIST-Antworten mit ampersand-umschlossenen modifizierten UTF-7-Segmenten.

Übersetzung von Support-Protokollen

Wandeln Sie kryptische Draht-Postfach-Tokens aus Protokollspuren zurück in lesbare Unicode-Bezeichnungen ohne vollständigen Mail-Client.

Wie unterscheidet sich IMAP-modifiziertes UTF-7 von gewöhnlichem UTF-7?

IMAP verwendet Ampersand als Shift-Zeichen statt Plus, und das Base64-Alphabet verwendet Komma statt Schrägstrich. Ampersand selbst wird als Ampersand-Bindestrich geschrieben. Füll-Gleichheitszeichen entfallen.

Was liefert der encode-Modus für reines ASCII?

Dieselbe druckbare ASCII-Zeichenkette, weil direkte US-ASCII-Zeichen außer Ampersand sich selbst darstellen. Nur nicht-direkte Zeichen und nackte Ampersands werden umgeschrieben.

Wie wird ein literales Ampersand kodiert?

Als Zwei-Zeichen-Sequenz Ampersand-Bindestrich (&-). So bleibt die Shift-Analyse eindeutig, wenn später im Namen ein echter Base64-Abschnitt folgt.

Wie lese ich einen Ordnernamen wie Inbox/&ZeVnLIqe- aus einem Log?

Wählen Sie Dekodieren und fügen Sie den Namen so ein, wie er erscheint. Jeder Abschnitt zwischen Ampersand und Bindestrich wird wieder zu seinen Zeichen, sodass Inbox/&ZeVnLIqe- wieder Inbox/日本語 lautet.

Warum lässt sich ein Name in modifiziertem UTF-7 nicht dekodieren?

Das passiert, wenn einem Ampersand am Ende der schließende Bindestrich fehlt, ein Abschnitt andere Zeichen als Buchstaben, Ziffern, Plus und Komma enthält, ein Abschnitt leer ist oder Nicht-ASCII-Zeichen außerhalb eines Abschnitts stehen. Das Werkzeug meldet den Fehler, statt zu raten.

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/utf7-imap

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/utf7-imap \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Inbox/日本語"}'
{
  "text": "Inbox/日本語"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.utf7_imap",
  "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.

Der Algorithmus ist vollständig deterministisch, läuft kostenlos in Ihrem Browser und meldet fehlerhafte Shift-Sequenzen, ungültiges Base64 und illegales nacktes Nicht-ASCII mit invalid_input statt zu raten. Erfolgreiche API-Aufrufe kosten jeweils $0.002; Validierungsfehler werden nicht berechnet.

Wie text und mode validiert werden und wann Anfragen scheitern

Mode ist standardmäßig encode und akzeptiert decode; die Aliasse op, direction und action bilden denselben Schalter ab. Encode akzeptiert jede wohlgeformte Unicode-Zeichenkette bis zur dokumentierten Zeichengrenze, durchläuft Codeeinheiten sorgfältig, damit Surrogatpaare für Nicht-BMP-Zeichen zusammenbleiben, und lehnt ungepaarte Surrogate ab, statt korruptes Base64 auszugeben. Leere Base64-Abschnitte zwischen Ampersand und Bindestrich werden abgelehnt, weil der einzige legale leere Shift das eigene Literal Ampersand-Bindestrich für ein einzelnes Ampersand ist. Das Pflichtfeld ist text, mit den Aliassen input, value und s, damit Formulare und Skripte bestehende Spaltennamen wiederverwenden können. Decode verlangt eine wohlgeformte modifizierte UTF-7-Zeichenkette: ein Ampersand am Ende der Eingabe ohne schließenden Bindestrich, eine Base64-Nutzlast mit Zeichen außerhalb von A–Z a–z null–neun Plus und Komma, eine Nutzlast, die zu einer ungeraden Byteanzahl dekodiert, oder Nicht-ASCII-Zeichen außerhalb eines Shift-Abschnitts scheitern alle mit invalid_input und einer präzisen Meldung. Der gesamte Pfad vermeidet Date, Zufallszahlen und Netz-I/O, wodurch Browser-Demos, CI-Goldens und API-Antworten für dieselbe Eingabe bitweise identisch bleiben. Fehlgeschlagene Validierung wird nicht berechnet, sodass Sie fehlerhafte LIST-Zeilen günstig prüfen können, während erfolgreiche Transformationen bei $0.002 pro Element bleiben.

Wo die Kodierung von Postfachnamen in Clients, Servern und Tests passt

Auf dieser Seite läuft die Umwandlung kostenlos im Browser; über die API kostet jede erfolgreiche Anfrage $0.002, nach der Antwort wird nichts gespeichert, und die Mathematik entspricht den RFC-Beispielen wie dem klassischen Taipei- und Japanisch-Pfad, der zu einer Folge ampersand-umschlossener modifizierter Base64-Segmente wird.

Erzeugung von Protokoll-Fixtures

Erzeugen Sie reproduzierbare Postfachnamen-Paare für Unit-Tests, Golden-Dateien und IMAP-Integrationsprüfungen über Locales hinweg.

Welche Fehler lösen invalid_input aus?

Nicht beendete Ampersand-Shifts, illegale Base64-Zeichen, dekodierte Byte-Läufe ungerader Länge, ungepaarte Surrogate, nacktes Nicht-ASCII außerhalb eines Shift-Abschnitts und fehlender Text. Fehlgeschlagene Aufrufe werden nicht berechnet.

Was kostet die API?

$0.002 pro erfolgreicher Anfrage. Das Browser-Werkzeug ist kostenlos. Ungültige Eingabe wird nicht berechnet.

Vollständige KIT-Dokumentation lesen →