ForHosting KIT · Utilidades de desarrollo

Codificador UTF-7 modificado IMAP

Obtenga el nombre exacto de carpeta que espera un servidor IMAP: Inbox/日本語 se convierte en Inbox/&ZeVnLIqe-, y un nombre críptico de un registro vuelve a ser legible. Los nombres solo en inglés no cambian. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Texto
Inbox/日本語
Modo de cálculo
Encode
Obtiene
Resultado
Inbox/&ZeVnLIqe-
Codificación
modified_utf7_imap
Longitud de entrada
9
Longitud de salida
16

Los nombres de buzón IMAP en el cable usan un dialecto de UTF-7 llamado UTF-7 modificado (RFC 3501 sección 5.1.3). Los caracteres US-ASCII imprimibles salvo el ampersand conservan su forma habitual; un ampersand solo pasa a la secuencia de dos caracteres ampersand-guion; y cualquier otro carácter—acentos, CJK, emoji y códigos de control—se empaqueta como UTF-16BE dentro de una sección Base64 modificada que empieza por ampersand y termina en guion, con la barra sustituida por coma. Esta herramienta codifica un nombre de carpeta Unicode legible a esa cadena de cable o descodifica una respuesta LIST/SELECT de nuevo a texto legible.

Qué es el UTF-7 modificado de IMAP y qué devuelve este conversor

Los protocolos de buzón estándar siguen intercambiando nombres de carpeta como cadenas seguras de 7 bits aunque los usuarios creen etiquetas en japonés, español, árabe o con emoji. IMAP resolvió eso con UTF-7 modificado en lugar de UTF-8 crudo en cada ruta del servidor: el nombre sigue siendo mayormente legible cuando es solo inglés, mientras que los segmentos internacionales se convierten en bloques compactos envueltos en ampersand. Las reglas de codificación son estrictas.

Los caracteres del rango espacio hasta tilde, salvo el ampersand, se escriben sin cambio. El ampersand nunca se deja suelto; siempre se escribe como ampersand seguido de guion para que los analizadores traten el bloque Base64 siguiente como un cambio deliberado.

Cualquier carácter fuera de ese conjunto directo se agrupa en una racha, se convierte a unidades de código UTF-16 big-endian y luego se codifica en Base64 con el alfabeto clásico salvo que el sexagésimo cuarto símbolo es coma en lugar de barra, y se omiten los signos igual de relleno. El modo encode devuelve esa cadena de cable más el modo resuelto, una etiqueta de codificación fija y las longitudes de entrada y salida.

El modo decode invierte el camino: copia ASCII directo, expande ampersand-guion a un solo ampersand y convierte cada sección ampersand-carga-guion de nuevo a Unicode.

Dónde encaja la codificación de nombres de buzón en clientes, servidores y pruebas

Los autores de clientes se encuentran con UTF-7 modificado al implementar CREATE, RENAME, LIST o LSUB y necesitan que el nombre en el cable coincida con lo que Dovecot, Cyrus, Exchange o Gmail esperan para carpetas internacionales. Los ingenieros de soporte pegan un token de carpeta críptico de un registro de protocolo y necesitan la etiqueta humana sin abrir un cliente de escritorio. Los servicios de backend normalizan títulos de carpeta orientados al usuario antes de guardarlos en un proxy IMAP o de comparar destinos SELECT en pruebas de integración.

Los ingenieros de calidad generan pares encode y decode para pruebas de contrato de modo que una actualización de biblioteca no pueda cambiar en silencio coma frente a barra en Base64 ni omitir el escape del ampersand. Los educadores usan la misma página al enseñar la diferencia entre extensiones de buzón UTF-8, UTF-7 modificado legado y nombres de visualización que nunca llegan al cable. Combínelo con otros codificadores gratuitos del catálogo cuando construya un pequeño laboratorio de herramientas de texto deterministas para correo y trabajo MIME.

Depuración de clientes y servidores IMAP

Codifique nombres de carpeta Unicode para CREATE o SELECT, o descodifique respuestas LIST con segmentos UTF-7 modificado envueltos en ampersand.

Traducción de registros de soporte

Convierta tokens de buzón crípticos del cable en trazas de protocolo de nuevo a etiquetas Unicode legibles sin un cliente de correo completo.

¿En qué se diferencia el UTF-7 modificado de IMAP del UTF-7 ordinario?

IMAP usa ampersand como carácter de cambio en lugar de más, y el alfabeto Base64 usa coma en lugar de barra. El ampersand se escribe como ampersand-guion. Se omiten los signos igual de relleno.

¿Qué devuelve el modo encode para ASCII plano?

La misma cadena ASCII imprimible, porque los caracteres US-ASCII directos salvo el ampersand se representan a sí mismos. Solo se reescriben caracteres no directos y ampersands sueltos.

¿Cómo se codifica un ampersand literal?

Como la secuencia de dos caracteres ampersand-guion (&-). Así el análisis del cambio permanece inequívoco cuando más adelante en el nombre sigue una sección Base64 real.

¿Cómo leo un nombre de carpeta como Inbox/&ZeVnLIqe- de un registro?

Elija descodificar y pegue el nombre tal como aparece. Cada tramo entre un ampersand y un guion vuelve a sus caracteres, así que Inbox/&ZeVnLIqe- se lee de nuevo como Inbox/日本語.

¿Por qué un nombre en UTF-7 modificado puede no descodificarse?

Falla si un ampersand final no tiene guion de cierre, si un tramo contiene algo distinto de letras, dígitos, signo más y coma, si un tramo está vacío o si hay caracteres no ASCII fuera de un tramo. La herramienta lo indica en lugar de adivinar.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

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

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

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

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

El algoritmo es plenamente determinista, se ejecuta gratis en su navegador y reporta secuencias de cambio mal formadas, Base64 incorrecto y no-ASCII ilegal suelto con invalid_input en lugar de adivinar. Las llamadas API correctas cuestan $0.002 cada una; los fallos de validación no se facturan.

Cómo se validan text y mode y cuándo fallan las solicitudes

Encode acepta cualquier cadena Unicode bien formada hasta el límite de caracteres documentado, recorre las unidades de código con cuidado para que los pares subrogados de caracteres fuera del BMP permanezcan juntos y rechaza subrogados sin pareja en lugar de emitir Base64 corrupto. Las secciones Base64 vacías entre ampersand y guion se rechazan porque el único cambio vacío legal es el literal dedicado ampersand-guion para un solo ampersand. El campo obligatorio es text, con alias input, value y s para que formularios y scripts reutilicen nombres de columna existentes. Mode por defecto es encode y acepta decode; los alias op, direction y action mapean al mismo interruptor. Decode exige una cadena UTF-7 modificada bien formada: un ampersand al final de la entrada sin guion de cierre, una carga Base64 con caracteres fuera de A–Z a–z cero–nueve más y coma, una carga que decodifica a un número impar de bytes, o caracteres no ASCII fuera de una sección de cambio fallan todos con invalid_input y un mensaje preciso. Toda la ruta evita Date, números aleatorios e E/S de red, lo que mantiene demos del navegador, goldens de CI y respuestas API idénticas bit a bit para la misma entrada. La validación fallida no se cobra, así que puede sondear líneas LIST defectuosas a bajo coste mientras las transformaciones correctas permanecen en $0.002 por ítem.

Dónde encaja la codificación de nombres de buzón en clientes, servidores y pruebas

En esta página la conversión se ejecuta gratis en el navegador; a través de la API cada solicitud correcta cuesta $0.002, no se almacena nada tras la respuesta, y la matemática coincide con los ejemplos RFC como la clásica ruta de Taipéi y japonés que se convierte en una secuencia de segmentos Base64 modificados envueltos en ampersand.

Generación de fixtures de protocolo

Produzca pares de nombres de buzón reproducibles para pruebas unitarias, archivos golden y comprobaciones de integración IMAP en varios locales.

¿Qué errores provocan invalid_input?

Cambios de ampersand sin terminar, caracteres Base64 ilegales, rachas de bytes decodificados de longitud impar, subrogados sin pareja, no-ASCII suelto fuera de una sección de cambio y texto ausente. Las llamadas fallidas no se cobran.

¿Cuánto cuesta la API?

$0.002 por solicitud correcta. La herramienta en el navegador es gratis. La entrada inválida no se cobra.

Ver la documentación completa del KIT →