ForHosting KIT · Strumenti per sviluppatori

Codificatore UTF-7 modificato IMAP

Ottenga il nome di cartella esatto che un server IMAP si aspetta: Inbox/日本語 diventa Inbox/&ZeVnLIqe-, e un nome criptico trovato in un log torna leggibile. I nomi solo in inglese non cambiano. Gratis nel Suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Testo
Inbox/日本語
Modalità di calcolo
Encode
Ottiene
Risultato
Inbox/&ZeVnLIqe-
Codifica
modified_utf7_imap
Lunghezza dell'input
9
Lunghezza dell'output
16

I nomi delle caselle IMAP sul cavo usano un dialetto di UTF-7 chiamato UTF-7 modificato (RFC 3501 sezione 5.1.3). I caratteri US-ASCII stampabili tranne la e commerciale conservano la forma ordinaria; una e commerciale isolata diventa la sequenza di due caratteri e commerciale-trattino; e ogni altro carattere—accenti, CJK, emoji e codici di controllo—viene impacchettato come UTF-16BE in una sezione Base64 modificata che inizia con e commerciale e termina con trattino, con la barra sostituita dalla virgola. Questo strumento codifica un nome di cartella Unicode leggibile in quella stringa di rete oppure decodifica una risposta LIST/SELECT di nuovo in testo leggibile.

Cos'è l'UTF-7 modificato IMAP e cosa restituisce questo convertitore

I protocolli di casella standard scambiano ancora i nomi di cartella come stringhe sicure a 7 bit anche quando gli utenti creano etichette in giapponese, spagnolo, arabo o con emoji. IMAP ha risolto il problema con l'UTF-7 modificato anziché UTF-8 grezzo su ogni percorso del server: il nome resta perlopiù leggibile quando è solo inglese, mentre i segmenti internazionali diventano blocchi compatti avvolti da e commerciali. Le regole di codifica sono rigide.

I caratteri dall'intervallo spazio fino alla tilde, tranne la e commerciale, si scrivono invariati. La e commerciale non viene mai lasciata nuda; si scrive sempre come e commerciale seguita da trattino così i parser trattano il blocco Base64 successivo come uno shift deliberato. Qualsiasi carattere fuori da quell'insieme diretto viene raccolto in una corsa, convertito in unità di codice UTF-16 big-endian e poi codificato in Base64 con l'alfabeto classico tranne che il sessantaquattresimo simbolo è la virgola al posto della barra, e i segni uguale di padding sono omessi.

La modalità encode restituisce quella stringa di rete più la modalità risolta, un'etichetta di codifica fissa e le lunghezze di ingresso e uscita. La modalità decode inverte il percorso: copia l'ASCII diretto, espande e commerciale-trattino in una sola e commerciale e trasforma ogni sezione e commerciale-carico-trattino di nuovo in Unicode.

Dove la codifica dei nomi di casella si colloca in client, server e test

Gli autori di client incontrano l'UTF-7 modificato quando implementano CREATE, RENAME, LIST o LSUB e hanno bisogno che il nome sul cavo corrisponda a ciò che Dovecot, Cyrus, Exchange o Gmail si aspettano per cartelle internazionali. Gli ingegneri di supporto incollano un token di cartella criptico da un log di protocollo e hanno bisogno dell'etichetta umana senza aprire un client desktop. I servizi backend normalizzano i titoli di cartella orientati all'utente prima di memorizzarli in un proxy IMAP o di confrontare destinazioni SELECT nei test di integrazione.

Gli ingegneri di qualità generano coppie encode e decode per test di contratto così un aggiornamento di libreria non possa cambiare in silenzio virgola contro barra nel Base64 né omettere l'escape della e commerciale. Gli educatori usano la stessa pagina insegnando la differenza tra estensioni di casella UTF-8, UTF-7 modificato legacy e nomi visualizzati che non toccano mai il cavo. La combini con altri codificatori gratuiti del catalogo quando costruisce un piccolo laboratorio di strumenti di testo deterministici per posta e lavoro MIME.

Debug di client e server IMAP

Codifichi nomi di cartella Unicode per CREATE o SELECT, oppure decodifichi risposte LIST con segmenti UTF-7 modificato avvolti da e commerciali.

Traduzione di log di supporto

Trasformi token di casella criptici del cavo da tracce di protocollo di nuovo in etichette Unicode leggibili senza un client di posta completo.

In che modo l'UTF-7 modificato IMAP differisce dall'UTF-7 ordinario?

IMAP usa la e commerciale come carattere di shift invece del più, e l'alfabeto Base64 usa la virgola al posto della barra. La e commerciale si scrive e commerciale-trattino. I segni uguale di padding sono omessi.

Cosa restituisce la modalità encode per ASCII puro?

La stessa stringa ASCII stampabile, perché i caratteri US-ASCII diretti tranne la e commerciale rappresentano se stessi. Solo i caratteri non diretti e le e commerciali nude vengono riscritti.

Come viene codificata una e commerciale letterale?

Come la sequenza di due caratteri e commerciale-trattino (&-). Così l'analisi dello shift resta non ambigua quando più avanti nel nome segue una vera sezione Base64.

Come leggo un nome di cartella come Inbox/&ZeVnLIqe- trovato in un log?

Scelga la decodifica e incolli il nome così com’è. Ogni sezione tra una e commerciale e un trattino torna ai suoi caratteri, quindi Inbox/&ZeVnLIqe- si legge di nuovo Inbox/日本語.

Perché un nome in UTF-7 modificato può non decodificarsi?

Non si decodifica se una e commerciale finale non ha il trattino di chiusura, se una sezione contiene altro oltre a lettere, cifre, più e virgola, se una sezione è vuota o se ci sono caratteri non ASCII fuori da una sezione. Lo strumento lo segnala invece di indovinare.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/enc/utf7-imap

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

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"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

L'algoritmo è pienamente deterministico, viene eseguito gratis nel Suo browser e segnala sequenze di shift malformate, Base64 errato e non-ASCII illegale nudo con invalid_input invece di indovinare. Le chiamate API riuscite costano $0.002 ciascuna; i fallimenti di validazione non vengono addebitati.

Come vengono validati text e mode e quando le richieste falliscono

Encode accetta qualsiasi stringa Unicode ben formata fino al limite di caratteri documentato, scorre le unità di codice con cura affinché le coppie surrogate dei caratteri fuori dal BMP restino insieme e rifiuta i surrogati non accoppiati invece di emettere Base64 corrotto. Le sezioni Base64 vuote tra e commerciale e trattino sono rifiutate perché l'unico shift vuoto legale è il letterale dedicato e commerciale-trattino per una sola e commerciale. Il campo obbligatorio è text, con alias input, value e s così moduli e script possono riutilizzare nomi di colonna esistenti. Mode ha predefinito encode e accetta decode; gli alias op, direction e action mappano sullo stesso interruttore. Decode richiede una stringa UTF-7 modificato ben formata: una e commerciale a fine input senza trattino di chiusura, un carico Base64 con caratteri fuori da A–Z a–z zero–nove più e virgola, un carico che decodifica in un numero dispari di byte, o caratteri non ASCII fuori da una sezione di shift falliscono tutti con invalid_input e un messaggio preciso. La validazione fallita non viene addebitata, così Lei può sondare linee LIST errate a basso costo mentre le trasformazioni riuscite restano a $0.002 per elemento.

Dove la codifica dei nomi di casella si colloca in client, server e test

In questa pagina la conversione viene eseguita gratis nel browser; tramite l'API ogni richiesta riuscita costa $0.002, nulla viene memorizzato dopo la risposta e la matematica coincide con gli esempi RFC come il classico percorso Taipei e giapponese che diventa una sequenza di segmenti Base64 modificati avvolti da e commerciali.

Generazione di fixture di protocollo

Produca coppie di nomi di casella riproducibili per test unitari, file golden e controlli di integrazione IMAP su più locale.

Quali errori causano invalid_input?

Shift di e commerciale non terminati, caratteri Base64 illegali, corse di byte decodificati di lunghezza dispari, surrogati non accoppiati, non-ASCII nudo fuori da una sezione di shift e testo mancante. Le chiamate fallite non vengono addebitate.

Quanto costa l'API?

$0.002 per richiesta riuscita. Lo strumento nel browser è gratuito. L'input non valido non viene addebitato.

Leggi la documentazione completa del KIT →