top / index / prev / next / target / source

2007-04-27 diary: [Java] Outlook 風の JISコード (ISO-2022-JP) を利用するための x-windows-iso2022jp というエンコーディング

いがぴょん画像(小) 日記形式でつづる いがぴょんコラム ウェブページです。

old-v2

[Java] Outlook 風の JISコード (ISO-2022-JP) を利用するための x-windows-iso2022jp というエンコーディング

x-windows-iso2022jp を使うと、極めて Outlook風の JISコードを利用することができるようになります。

Java: Outlook 風の JISコード (ISO-2022-JP) を利用するための x-windows-iso2022jp というエンコーディング

Javaによるソフトウェア開発において、JavaMail APIを使った Outlook風の JISコード (ISO-2022-JP) を利用したメール送信をどうしても実現したいという局面があります。

こういう やむを得ない状況を打開したいという局面にぴったりのエンコーディングが x-windows-iso2022jp として Javaでは提供されています。今日初めて知りました。 x-windows-iso2022jp を使うと、極めて Outlook風の JISコードを利用することができるようになります。(細部についての妥当性については未試験)

また更に便利なことに、x-windows-iso2022jp では 重複符号化領域のコードについても、適切に Outlook風のUnicodeマッピングを行ってくれます。重複符号化領域のコードは Oracleにデータを格納して取り出すと、良く問題として顕在化しやすいものとして知られていることのひとつです。

Javaでは プログラミングのなかで気にせず x-windows-iso2022jp を利用する方法も提供されています。JavaVMの実行オプションに「-Dsun.nio.cs.map=x-windows-iso2022jp/ISO-2022-JP」というスイッチを利用すると、JISコード (ISO-2022-JP) の挙動を x-windows-iso2022jp に強制的に上書きするという方法が存在するのです。JavaMailにおいて、メールのSubjectを実際のエンコーディングとメール電文に乗せるエンコーディングとを変更して調整するメソッドが提供されていないので、このスイッチの存在は とても便利です。

Shift_JIS と MS932 (あるいは Windows-31J)とのマッピング同様の関係が、ISO-2022-JP と x-windows-iso2022jpとの間にあるのですね。とても勉強になりました。

ただし、、、妥協の産物であることは しっかりと理解しておく必要があります。

関連リソース

関連する日記

Flex 2 調査中

仕事で Flash / Flex 2 を扱う必要性が ほんのりと あがってきたので、ごくごく簡単に Flex 2 を調査しはじめました。

Flex 2 SDK などが無償で提供されていることを、今日 初めて知りました。

登場キーワード


この日記について