Спецификация IMAP (RFC 2060, 5.1.3. Международная конвенция о почтовых ящиках) описывает, как обрабатывать символы, отличные от ASCII, в именах папок. Он определяет модифицированных UTF-7 кодировку:Кодировка пути к папке IMAP (IMAP UTF-7) для .NET?
По соглашению, международный почтовые ящик имен указаны с использованием модифицированной версии кодирования UTF-7, описанным в [UTF-7]. Цель этих модификаций, чтобы исправить следующие проблемы с UTF-7:
UTF-7 использует знак "+" для смещения; это конфликтует с обычным использованием имен «+» в именах почтовых ящиков, в частности USENET именам групп новостей.
Кодировка UTF-7 - это BASE64, которая использует символ «/»; этот конфликтует с использованием «/» в качестве популярного разделителя иерархии.
UTF-7 запрещает использование «\»; это конфликтует с использованием «\» в качестве популярного разделителя иерархии.
UTF-7 запрещает использование без ограничений «~»; это конфликтует с использованием «~» на некоторых серверах в качестве индикатора домашней директории.
UTF-7 разрешает несколько альтернативных форм представлять одну и ту же строку ; в частности, печатаемые символы US-ASCII могут быть , представленные в кодированной форме.
В модифицированной UTF-7, печатаемые символы US-ASCII для "&" представляет из себя, за исключением; , то есть символы с октетными значениями 0x20-0x25 и 0x27-0x7e. Символ «&» (0x26) представлен двухоктевой последовательностью «& -».
Всех остальных символы (октет значение 0x00-0x1f, 0x7f-0xff, и все Unicode 16-битных октет) представлены в модифицированной BASE64, с дальнейшей модификацией из [UTF-7], что "" является вместо "/".
Модифицированный BASE64 НЕ ДОЛЖЕН использоваться для представления любого печатного символа US-ASCII , который может представлять себя.«&» используется для перехода к модифицированным BASE64 и «-» для возврата в US-ASCII. Все имена начинаются в US-ASCII, и ДОЛЖНЫ заканчиваться в US-ASCII (то есть имя, заканчивающееся октетом Unicode 16 бит , ДОЛЖНО заканчиваться символом «-»).
Прежде чем я начну ее реализации, на мой вопрос: есть ли какой-нибудь .NET код/библиотека там (или даже в рамках), что делает работу? Я не смог найти ресурсы .NET (только implementations for other languages/frameworks).
Спасибо!
У меня была та же проблема. Подробно здесь .... [http://www.google.com/support/forum/p/gmail/thread?tid=79f75c2d2df9e825&hl=ru (http://www.google.com/support/forum/p/ Gmail/нить? TID = 79f75c2d2df9e825 & гл = еп) – 2011-07-09 15:09:09