Почта. Кодировка папок IMAP

Национальные символы в именах почтовых ящиков на сервере должны кодироваться в модифицированную кодировку UTF-7.

Содержание

1 Общая информация

  • В соответствие с RFC2060 национальные символы в именах почтовых ящиков на сервере должны кодироваться в модифицированную кодировку UTF-7.
  • Отличия от оригинальной UTF-7 связаны с особым значением символа + в некоторых почтовых системах и символа / в роли разделителя имён каталогов в Unix.

2 Преобразование

2.1 Кодирование

  • Алгоритм кодирования имён папок:
    • Текст -> UTF7;
    • & -> &-;
    • / -> ,;
    • + -> &.
  • Код (shell):
    1echo "Черновики" |  iconv -f UTF8 -t UTF7 | sed 's/&/&-/g;s/\//,/g;s/+/\&/g'
    
  • В результате получаем:
    1&BCcENQRABD0EPgQyBDgEOgQ4
    

2.2 Декодирование

  • Алгоритм декодирования имён папок:
    • & -> +;
    • &- -> &;
    • , -> /;
    • UTF7 -> Текст.
  • Код (shell):
    1echo '&BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-' | sed 's/&\([^-]\)/+\1/g;s/&-/&/g;s/,/\//g' | iconv -f UTF7 -t UTF8
    
  • В результате получаем:
    1Отправленные
    

Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие