ケータイの文字コードについて調べてみた
- ケータイ端末の内部コードは、docomo、au、SoftBankいずれもShift-JIS。Windows外字のうち、13区相当のNEC特殊文字については、各社ともサポートしている。その一方で、NEC選定IBM拡張文字とIBM拡張文字は、各社とも公式にはサポートしていない。ただし、機種によってはNEC選定IBM拡張文字またはIBM拡張文字を表示できることもある。
- 各社とも、0xEB40以降(85〜120区相当)に絵文字を収録している。下図は、Shift-JISの符号空間のうち、JIS X 0208の文字が入っていない部分への外字の割り当てを示したもの。紫地がWindows外字領域、黄色地が各キャリアの絵文字領域。グレーの数字はShift-JISの上2桁、黒の数字は区。
- 下図は、docomoの端末の一例。Windows外字のうちケータイキャリア各社が公式にサポートしているのはNEC特殊文字だけであることはすでに述べたが、このN703iμの場合、NEC製だけあって(?)89〜92区相当のNEC選定IBM拡張文字もサポートしている。また、それ以外に、9〜11区にPC98互換の半角文字、14〜15区にはISO 8859-1の文字*1、85〜86区にARIB外字が入っていたりする(ピンク地が独自の外字領域)。
- auのフルブラウザは、Shift_JISのページでは、au絵文字領域(下図、黄色地)の文字に加え、docomo絵文字領域(オレンジ地)の文字をau絵文字に変換して表示する。またUTF-8のページでは、auのフルブラウザは絵文字の一部を表示することができるが、これについては「auのブラウザとUnicode絵文字」で述べた。
- docomoとSoftBankは、自社ケータイ間のメールのやりとりに、内部コードのShift-JISをそのまま使う。auは、絵文字領域をシフトした独自のISO-2022-JPを使う(下図)。
- 各社とも、他社ケータイ宛のメールでは、ゲートウェイで相手に応じた変換を行う。パソコン宛のメールは、docomoとSoftBankは、絵文字を〓に置き換えた上でISO-2022-JPで送信する。auはパソコン宛のメールでも、自社ケータイ宛と同じ絵文字入りのISO-2022-JPをそのまま送信する。これが引き起こす文字化けについては、「au絵文字の文字化け解読リスト」で述べた。