ForHosting KIT · Ferramentas para dev

Codificador UTF-7 modificado IMAP

Obtenha o nome exato de pasta que um servidor IMAP espera: Inbox/日本語 vira Inbox/&ZeVnLIqe-, e um nome enigmático de um log volta a ficar legível. Nomes só em inglês não mudam. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Texto
Inbox/日本語
Modo de cálculo
Encode
Você obtém
Resultado
Inbox/&ZeVnLIqe-
Codificação
modified_utf7_imap
Comprimento da entrada
9
Comprimento da saída
16

Os nomes de caixa de correio IMAP no fio usam um dialeto de UTF-7 chamado UTF-7 modificado (RFC 3501 seção 5.1.3). Caracteres US-ASCII imprimíveis, exceto o e comercial, mantêm a forma comum; um e comercial isolado vira a sequência de dois caracteres e comercial-hífen; e qualquer outro caractere—acentos, CJK, emoji e códigos de controle—é empacotado como UTF-16BE dentro de uma seção Base64 modificada que começa com e comercial e termina com hífen, com a barra substituída por vírgula. Esta ferramenta codifica um nome de pasta Unicode legível nessa string de fio ou decodifica uma resposta LIST/SELECT de volta a texto legível.

O que é o UTF-7 modificado do IMAP e o que este conversor devolve

Protocolos de caixa padrão ainda trocam nomes de pasta como strings seguras de 7 bits mesmo quando usuários criam rótulos em japonês, espanhol, árabe ou com emoji. O IMAP resolveu isso com UTF-7 modificado em vez de UTF-8 bruto em cada caminho do servidor: o nome permanece em grande parte legível quando é só inglês, enquanto segmentos internacionais viram blocos compactos envolvidos por e comercial. As regras de codificação são rígidas.

Caracteres no intervalo espaço até til, exceto o e comercial, são escritos sem alteração. O e comercial nunca fica solto; sempre se escreve como e comercial seguido de hífen para que analisadores tratem o bloco Base64 seguinte como um deslocamento deliberado. Qualquer caractere fora desse conjunto direto é reunido em uma sequência, convertido em unidades de código UTF-16 big-endian e então codificado em Base64 com o alfabeto clássico, exceto que o sexagésimo quarto símbolo é vírgula em vez de barra, e sinais de igual de preenchimento são omitidos.

O modo encode devolve essa string de fio mais o modo resolvido, um rótulo de codificação fixo e os comprimentos de entrada e saída. O modo decode inverte o caminho: copia ASCII direto, expande e comercial-hífen a um único e comercial e transforma cada seção e comercial-carga-hífen de volta em Unicode.

Onde a codificação de nomes de caixa se encaixa em clientes, servidores e testes

Autores de clientes encontram UTF-7 modificado ao implementar CREATE, RENAME, LIST ou LSUB e precisam que o nome no fio corresponda ao que Dovecot, Cyrus, Exchange ou Gmail esperam para pastas internacionais. Engenheiros de suporte colam um token de pasta críptico de um log de protocolo e precisam do rótulo humano sem abrir um cliente desktop. Serviços de backend normalizam títulos de pasta voltados ao usuário antes de armazená-los em um proxy IMAP ou de comparar alvos SELECT em testes de integração.

Engenheiros de qualidade geram pares encode e decode para testes de contrato de modo que uma atualização de biblioteca não possa mudar em silêncio vírgula versus barra no Base64 nem omitir o escape do e comercial. Educadores usam a mesma página ao ensinar a diferença entre extensões de caixa UTF-8, UTF-7 modificado legado e nomes de exibição que nunca chegam ao fio. Combine com outros codificadores gratuitos do catálogo ao montar um pequeno laboratório de ferramentas de texto determinísticas para e-mail e trabalho MIME.

Depuração de clientes e servidores IMAP

Codifique nomes de pasta Unicode para CREATE ou SELECT, ou decodifique respostas LIST com segmentos UTF-7 modificado envolvidos por e comercial.

Tradução de logs de suporte

Transforme tokens de caixa crípticos do fio em traços de protocolo de volta em rótulos Unicode legíveis sem um cliente de e-mail completo.

Em que o UTF-7 modificado do IMAP difere do UTF-7 comum?

O IMAP usa e comercial como caractere de deslocamento em vez de mais, e o alfabeto Base64 usa vírgula em vez de barra. O e comercial se escreve como e comercial-hífen. Sinais de igual de preenchimento são omitidos.

O que o modo encode devolve para ASCII puro?

A mesma string ASCII imprimível, porque caracteres US-ASCII diretos, exceto o e comercial, representam a si mesmos. Só caracteres não diretos e e comerciais soltos são reescritos.

Como um e comercial literal é codificado?

Como a sequência de dois caracteres e comercial-hífen (&-). Isso mantém a análise do deslocamento inequívoca quando uma seção Base64 real segue mais adiante no nome.

Como leio um nome de pasta como Inbox/&ZeVnLIqe- de um log?

Escolha decodificar e cole o nome como ele aparece. Cada trecho entre um e comercial e um hífen volta a ser os caracteres originais, então Inbox/&ZeVnLIqe- vira de novo Inbox/日本語.

Por que um nome em UTF-7 modificado pode falhar na decodificação?

Falha quando um e comercial no final não tem hífen de fechamento, um trecho contém algo além de letras, dígitos, sinal de mais e vírgula, um trecho está vazio ou há caracteres fora do ASCII fora de um trecho. A ferramenta avisa em vez de adivinhar.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

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

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

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

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

O algoritmo é plenamente determinístico, roda de graça no seu navegador e reporta sequências de deslocamento malformadas, Base64 inválido e não-ASCII ilegal solto com invalid_input em vez de adivinhar. Chamadas de API bem-sucedidas custam US$ 0,002 cada; falhas de validação não são cobradas.

Como text e mode são validados e quando as solicitações falham

Encode aceita qualquer string Unicode bem formada até o limite de caracteres documentado, percorre unidades de código com cuidado para que pares substitutos de caracteres fora do BMP permaneçam juntos e rejeita substitutos sem par em vez de emitir Base64 corrompido. Seções Base64 vazias entre e comercial e hífen são rejeitadas porque o único deslocamento vazio legal é o literal dedicado e comercial-hífen para um único e comercial. O campo obrigatório é text, com aliases input, value e s para que formulários e scripts reutilizem nomes de coluna existentes. Mode tem padrão encode e aceita decode; os aliases op, direction e action mapeiam para o mesmo interruptor. Decode exige uma string UTF-7 modificada bem formada: um e comercial no fim da entrada sem hífen de fechamento, uma carga Base64 com caracteres fora de A–Z a–z zero–nove mais e vírgula, uma carga que decodifica para um número ímpar de bytes, ou caracteres não ASCII fora de uma seção de deslocamento falham todos com invalid_input e uma mensagem precisa. Todo o caminho evita Date, números aleatórios e E/S de rede, o que mantém demos no navegador, goldens de CI e respostas de API idênticas bit a bit para a mesma entrada. Validação com falha não é cobrada, então você pode sondar linhas LIST ruins a baixo custo enquanto transformações bem-sucedidas permanecem em US$ 0,002 por item.

Onde a codificação de nomes de caixa se encaixa em clientes, servidores e testes

Nesta página a conversão roda grátis no navegador; pela API cada solicitação bem-sucedida custa US$ 0,002, nada é armazenado após a resposta, e a matemática coincide com os exemplos RFC como o clássico caminho de Taipei e japonês que vira uma sequência de segmentos Base64 modificados envolvidos por e comercial.

Geração de fixtures de protocolo

Produza pares de nomes de caixa reproduzíveis para testes unitários, arquivos golden e verificações de integração IMAP em vários locales.

Quais erros causam invalid_input?

Deslocamentos de e comercial sem término, caracteres Base64 ilegais, sequências de bytes decodificados de comprimento ímpar, substitutos sem par, não-ASCII solto fora de uma seção de deslocamento e texto ausente. Chamadas com falha não são cobradas.

Quanto custa a API?

US$ 0,002 por solicitação bem-sucedida. A ferramenta no navegador é gratuita. Entrada inválida não é cobrada.

Ver a documentação completa do KIT →