公開:

JISコードとは?意味をわかりやすく簡単に解説

text: XEXEQ編集部


JISコードとは

JISコードとは、日本工業規格(JIS)で定められた日本語の文字コードの規格です。文字コードとは、文字をコンピュータで処理したり通信したりするために、文字に割り当てた番号のことを指します。

JISコードは、1969年にJIS X 0201として制定されました。その後、1978年にJIS X 0208、1990年にJIS X 0212、1997年にJIS X 0213と拡張され、現在に至ります。

JISコードには、JIS X 0201、JIS X 0208、JIS X 0212、JIS X 0213の4つの規格があります。JIS X 0201は、半角英数字、カタカナ、記号を扱う1バイト系の文字コードです。

JIS X 0208は、漢字6,879字、非漢字524字の計7,403字を扱う2バイト系の文字コードです。JIS X 0212は、JIS X 0208の補助漢字規格で、5,801字を扱います。

JIS X 0213は、JIS X 0208とJIS X 0212を統合し、第3水準と第4水準の漢字を加えた文字コードです。第3水準漢字は1,259字、第4水準漢字は2,436字が追加されています。

JISコードの歴史と発展

JISコードの歴史と発展に関して、以下3つを簡単に解説していきます。

  • JISコードの制定と改訂の経緯
  • JISコードの各規格の特徴と違い
  • JISコードからUnicodeへの移行

JISコードの制定と改訂の経緯

JISコードは、1969年にJIS X 0201として制定されました。当初は、半角英数字、カタカナ、記号を扱う1バイト系の文字コードのみでしたが、1978年にJIS X 0208で漢字を扱う2バイト系の文字コードが追加されました。

その後、1990年にJIS X 0212で補助漢字が追加され、1997年にJIS X 0213で第3水準と第4水準の漢字が追加されました。このように、JISコードは日本語の文字を扱うために、段階的に拡張されてきました。

JISコードの各規格の特徴と違い

JIS X 0201は、半角英数字、カタカナ、記号を扱う1バイト系の文字コードです。英語のASCIIコードを基本とし、カタカナや記号を扱うために拡張されています。

JIS X 0208は、漢字6,879字、非漢字524字の計7,403字を扱う2バイト系の文字コードです。日本語の基本的な文字を扱うことができます。JIS X 0212は、JIS X 0208で扱えない補助漢字5,801字を扱うための規格です。

JIS X 0213は、JIS X 0208とJIS X 0212を統合し、第3水準と第4水準の漢字を加えた文字コードです。これにより、より多くの漢字を扱えるようになりました。

JISコードからUnicodeへの移行

JISコードは日本語の文字を扱うために作られた規格ですが、世界中の多言語を統一的に扱うためにUnicodeという文字コードが開発されました。Unicodeは、世界中の文字を扱うことができる文字コードです。

日本でも、多言語化や国際化の流れから、JISコードからUnicodeへの移行が進んでいます。現在では、多くのコンピュータシステムやウェブサイトでUnicodeが使用されています。

ただし、古いシステムではJISコードが使用されていることもあるため、JISコードとUnicodeの相互変換が必要になることがあります。そのため、JISコードについての知識は、現在でも重要です。

JISコードのエンコーディング方式

JISコードのエンコーディング方式に関して、以下3つを簡単に解説していきます。

  • ISO-2022-JPエンコーディング
  • Shift_JISエンコーディング
  • EUC-JPエンコーディング

ISO-2022-JPエンコーディング

ISO-2022-JPは、JISコードを符号化するための エンコーディング方式の一つです。エスケープシーケンスを使用して、複数の文字セットを切り替えながら使用することができます。

メールの添付ファイル名などに使用されることがありますが、現在ではあまり使用されていません。文字セットの切り替えが必要なため、効率が悪いという欠点があります。

Shift_JISエンコーディング

Shift_JISは、マイクロソフト社が開発したJISコードのエンコーディング方式です。1バイト目が0x81以上の場合は2バイト文字、それ以外は1バイト文字として扱います。

Windowsで日本語を扱う際のデフォルトのエンコーディング方式として使用されてきました。Unicodeが普及する以前は、日本語のウェブサイトでも広く使用されていました。

Shift_JISは、JIS X 0208の文字を扱うことができますが、JIS X 0213の文字は扱えません。そのため、第3水準や第4水準の漢字を使用する場合は、別のエンコーディング方式を使用する必要があります。

EUC-JPエンコーディング

EUC-JPは、UnixやLinuxで日本語を扱う際のデフォルトのエンコーディング方式です。8ビットを単位とした複数バイトで文字を表現します。

JIS X 0201、JIS X 0208、JIS X 0212の文字を扱うことができます。そのため、JIS X 0213の文字を扱う必要がない場合は、EUC-JPを使用することが多いです。

ただし、EUC-JPはWindowsではデフォルトのエンコーディング方式ではないため、Windowsとの間でファイルをやり取りする際には、エンコーディング方式の変換が必要になることがあります。

JISコードとUnicodeの関係

JISコードとUnicodeの関係に関して、以下3つを簡単に解説していきます。

  • JISコードからUnicodeへのマッピング
  • 文字化けの原因と対処法
  • サロゲートペアによる文字の表現

JISコードからUnicodeへのマッピング

JISコードの文字は、Unicodeにマッピングされています。つまり、JISコードの各文字に対応するUnicodeの符号位置が決められています。

たとえば、JIS X 0208の「亜」という文字は、Unicodeでは U+4E9C という符号位置に割り当てられています。このように、JISコードの文字をUnicodeに変換することができます。

ただし、JISコードには Unicodeに存在しない文字や、Unicodeでは異なる文字として扱われる文字があります。そのため、JISコードとUnicodeの間で文字を変換する際には、注意が必要です。

文字化けの原因と対処法

JISコードとUnicodeを混在して使用した場合や、エンコーディング方式が異なるシステム間でデータをやり取りした場合に、文字化けが発生することがあります。文字化けとは、文字が正しく表示されない現象のことです。

文字化けが発生する原因は、主にエンコーディング方式の不一致によるものです。たとえば、Shift_JISでエンコードされたデータをEUC-JPで表示しようとすると、文字化けが発生します。

文字化けを防ぐためには、データのエンコーディング方式を正しく指定する必要があります。また、異なるシステム間でデータをやり取りする際には、エンコーディング方式を合わせるか、変換を行う必要があります。

サロゲートペアによる文字の表現

Unicodeには、16ビットの符号位置だけでは表現できない文字があります。そのような文字を表現するために、Unicodeではサロゲートペアという方式が使用されています。

サロゲートペアでは2つの16ビットの符号位置を組み合わせることで、1つの文字を表現します。サロゲートペアで表現された文字を正しく扱うためには、プログラムでサロゲートペアを適切に処理する必要があるため、サロゲートペアを単なる2文字として扱ってしまうと文字化けが発生する可能性があります。

※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。

「コンピュータ」に関するコラム一覧「コンピュータ」に関するニュース一覧
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。