|
Shift-JIS のコーディング
| |||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||
|
Shift-JIS (以後 SJIS) は
JISX0201ラテン, JISX0201カナ,
JISX0208 のコーディング方法です。
JISX0201ラテンはそのままのコーディングです。
JISX0201カナは (コード番号) | 0x80 です。
JISX0208 と SJIS との間の変換は
変換公式
で行います。
Unicode と SJIS との間の変換は変換テーブル
( 下記表4参照 もしくは
Unicode.org で提供されている
テーブル ( Public/MAPPINGS/ などから入手可能 ) )
で行います。
| |||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||
|
SJIS を語る上で欠かせないのが機種依存文字の問題です。
JISX0208 は2バイト94領域文字なので 94x94 = 8836 文字分
のスペースがありますが、全てが埋まっているのではなく、
文字が定義されていないコード番号も存在します。
SJIS も文字が定義されていないコード番号があります。
この定義されていないコード番号に各企業が勝手に文字を割り当てた
のが「機種依存文字」です。
| |||||||||||||||||||||||||||||||||
|
機種依存文字が含まれる SJIS は厳密には SJIS ではありません。
厳密に区別するため、例えば Windows でつかわれる文字セット/エンコーディングは
Code Page 932 と名前がつけられています。
Mac の場合は Code Page 10001 というコードページの番号が振られているようです。
| |||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||
|
SJIS で JISX0201 以外の文字は1文字2バイトで表します。
上位バイトは 0x80-0x9F, 0xE0-0xFC
下位バイトは 0x40-0x7E, 0x80-0xFC
の範囲を取り、合計 11468 文字定義できます。
JIS コードで表現する場合、変換公式を適応しますが
JISX0208 は 8836 文字なので、コード番号によっては
JISX0208 に変換できません。
つまり JIS コードや EUC-jp で表現できません。
具体的には 上位バイトが 0xF0-0xFC のとき JISX0208 に
変換できません。
| |||||||||||||||||||||||||||||||||
|
表4 に正規の SJIS の文字の範囲と Windows 系と Macintosh 系の
機種依存文字の範囲をそれぞれ示します。
IBM選定IBM拡張文字は上位バイトが 0xF0-0xFC の範囲内に
あるため JISX0208 に変換できません。
なお、表中のアンカー(リンク)先は UCS との文字コード変換表です。
| |||||||||||||||||||||||||||||||||
|
表 4 : コード番号と機種依存文字
| |||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||
|
※ Apple の変換テーブルのギリシャ数字(小)を訂正しました。
干場様ご指摘ありがとうございました。
| |||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||
|
Copyright (C) 1999-2004 いまでぃ
All Rights Reserved. | |||||||||||||||||||||||||||||||||
|
本ホームページに掲載・使用されている全ての画像及び文章の無断使用・転載を禁止します。 本ホームページの内容について いまでぃ は一切保証いたしません。 本ホームページはリンクフリーです。 | |||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||