アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。

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);

宜しくお願い致します。

A 回答 (2件)

どちらもiso-2022-jpがベースなので、


iso-2022-jpでデコードすればとりあえず何とかなる気がします。
(ただし、iso-2022-jpに含まれない文字は変換できないかと)

完全さを求めるのであればiso-2022-jp-2/3を扱えるライブラリでも探せば……
と思ったのですが、どうも.NET用のもC/C++用のもなさそうなので、
Encodingクラスを継承して自前でエンコードするしか方法はなさそうです。
    • good
    • 0

http://www.wdic.org/w/WDIC/ISO-2022-JP-2
http://www.wdic.org/w/WDIC/ISO-2022-JP-3

上記ページに書いてある事の意味が判らないのであれば、貴方のスキルでは変換は不可能だと思われます。

この回答への補足

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

補足日時:2013/10/28 11:17
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!