Shift JIS-2004

Shift_JIS-2004とは



Shift_JIS-2004は、日本の文字を符号化するための文字コードの一つで、JIS X 0213規格に基づいて定められています。これは、従来のShift_JISを拡張したもので、より多くの文字を扱えるように設計されています。具体的には、JIS X 0213で定義されている文字セット全体を符号化できることが特徴です。

Shift_JISとの関係



Shift_JIS-2004は、Shift_JISとの互換性を保ちつつ、JIS X 0213の全文字を表現できるように拡張されています。Shift_JISと同様に、1バイト文字と2バイト文字を組み合わせて使用する方式を採用しています。JIS X 0213は2つの面(第1面と第2面)を持っていますが、Shift_JIS-2004では第1面はShift_JISの範囲内に収まり、第2面を表現するために新たな領域が追加されています。

符号化の仕組み



Shift_JIS-2004では、JIS X 0213の各文字を2バイトで表現します。面区点番号からShift_JIS-2004のバイト値を算出する際には、特定の計算式が用いられます。特に、第2面の文字を表現するために、第1バイトの範囲が拡張されています。

第1バイトの計算


面番号を m 、区番号を k とすると、第1バイト(s1)は以下の式で計算されます。

m = 1 かつ 1 ≦ k ≦ 62 のとき: s1 = ⌊(k + 257) / 2⌋
m = 1 かつ 63 ≦ k ≦ 94 のとき: s1 = ⌊(k + 385) / 2⌋
m = 2 かつ k が 1, 3, 4, 5, 8, 12, 13, 14, 15 のいずれかのとき: s1 = ⌊(k + 479) / 2⌋ − ⌊k / 8⌋ × 3
m = 2 かつ 78 ≦ k ≦ 94 のとき: s1 = ⌊(k + 411) / 2⌋

ここで、⌊⌋ は床関数(小数点以下切り捨て)を表します。

第2バイトの計算


点番号を t とすると、第2バイト(s2)は以下の式で計算されます。

k が奇数の場合:
1 ≦ t ≦ 63 のとき: s2 = t + 63
64 ≦ t ≦ 94 のとき: s2 = t + 64
k が偶数の場合:
s2 = t + 158


Windows-31Jとの非互換性



Shift_JIS-2004は、Windows-31Jとは互換性がありません。Windows-31Jは、Shift_JISをベースにしたマイクロソフト独自の拡張文字コードであり、Shift_JIS-2004とは異なる文字の割り当てや符号化方法を使用しています。

歴史



JIS X 0213の初版(2000年)では、この符号化方式はShift_JISX0213と命名されていましたが、2004年の改正で追加されたUCS互換漢字10文字の有無を除いては、大きな違いがないためShift_JIS-2004と同一視されることもあります。

まとめ



Shift_JIS-2004は、JIS X 0213の全文字を扱えるように拡張された文字コードです。Shift_JISとの互換性を保ちつつ、より多くの文字を表現できます。しかし、Windows-31Jとの互換性がないため、使用する際には注意が必要です。

関連項目



Shift_JIS
EUC-JIS-2004
ISO-2022-JP-2004
JIS X 0213
JIS X 0213非漢字一覧
JIS X 0213漢字一覧の1面
JIS X 0213漢字一覧の2面

外部リンク



JIS X 0213の代表的な符号化方式
文字コード表 - 日本語 (シフト JIS) - shift_jis2004 - UIC

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。