IMAP 仕様 ( RFC 2060、5.1.3. Mailbox International Naming Convention) では、フォルダ名で非 ASCII 文字を処理する方法が説明されています。変更されたUTF-7 エンコーディングを定義します。
慣例により、国際メールボックス名は、[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) は、2 オクテットのシーケンス「&-」で表されます。
他のすべての文字 (オクテット値 0x00-0x1f、0x7f-0xff、およびすべての Unicode 16 ビット オクテット) は、"/" の代わりに "," が使用されるという [UTF-7] からのさらなる変更を加えて、変更された BASE64 で表されます。
変更された BASE64 は、それ自体を表すことができる印刷 US-ASCII 文字を表すために使用してはなりません。"&" は、修正された BASE64 にシフトするために使用され、"-" は、US-ASCII にシフトするために使用されます。すべての名前は US-ASCII で始まり、US-ASCII で終わる必要があります (つまり、Unicode 16 ビット オクテットで終わる名前は「-」で終わる必要があります)。
実装を開始する前に、私の質問: ジョブを実行する.NET コード/ライブラリがそこに (またはフレームワーク内にさえ) ありますか? .NET リソースが見つかりませんでした (他の言語/フレームワークの実装のみ)。
ありがとうございました!