• 締切済み

メール(iso-2022-jp-2)のデコード

お世話になります。 C#.NETまたはVB.NETでiPhoneから送られたメールを解析するメーラーを作っているのですが、 charset=iso-2022-jp-2、charset=iso-2022-jp-3で送られてくる場合があり、 そのデコードができずに困っております。 charset=iso-2022-jpですと、下記でデコードできるのですが、 charset=iso-2022-jp-2、charset=iso-2022-jp-3はそもそも Encodingクラスで扱えるエンコーディング名に存在しないので、 どのように変換してよいか分かりません。 string mailtext = "?"; // ←メール内容をそのまま入れます byte[] bytes = Encoding.ASCII.GetBytes(mailtext); string body = Encoding.GetEncoding("iso-2022-jp").GetString(bytes); 宜しくお願い致します。

みんなの回答

  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.2

どちらもiso-2022-jpがベースなので、 iso-2022-jpでデコードすればとりあえず何とかなる気がします。 (ただし、iso-2022-jpに含まれない文字は変換できないかと) 完全さを求めるのであればiso-2022-jp-2/3を扱えるライブラリでも探せば…… と思ったのですが、どうも.NET用のもC/C++用のもなさそうなので、 Encodingクラスを継承して自前でエンコードするしか方法はなさそうです。

回答No.1

http://www.wdic.org/w/WDIC/ISO-2022-JP-2 http://www.wdic.org/w/WDIC/ISO-2022-JP-3 上記ページに書いてある事の意味が判らないのであれば、貴方のスキルでは変換は不可能だと思われます。

tokitou1868
質問者

補足

そういうことを聞いているのではないです。 なんとか他の部品等を使ってでもできないかということを聞いています。 現にOutlookExpressではデコードができている。

関連するQ&A