Почта. Кодировка папок 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Отправленные