よく使われる文字コード一覧と特徴

コンピュータの内部では全てのデータは0と1の2進数で表現されています。そしてコンピュータ上で文字を表現するために割り当てられた数字の組み合わせ(バイトコード)を文字コードと言います。現在コンピュータの種類によって様々な文字コードが使われています。今回は、それぞれの文字コードの特徴についてご紹介します。

JISコード

JISコードは、インターネットや電子メールで日本語を表記する際に、最も標準的に使用されている文字コードです。日本工業規格(JIS)により定められた7ビット単位の符号化方式で、通常の文字列では表現することができない特殊な文字や機能(制御文字)については、エスケープシーケンスという特殊な文字の並びにより表現しています。

Shift-JISコード

Shift-JISコード(SJIS)はMicrosoft社により定められたコードです。WindowsやMS-DOS、Macで使用されています。エスケープシーケンスは使用されていません。そして半角文字も全角文字も一律2バイト(16ビット)で扱うので、表示された文字数とバイト数が一致するという特徴があります。また文字の前半の8ビットで半角文字か全角文字を区別することが可能です。

ASCIIコード

ASCIIはAmerican Standard Code for Information Interchangeの略です。アメリカ規格協会(ANSI)が制定した文字コードで、1文字を7ビットで表現しており、誤り検出用に1ビットを付加した8ビットで構成されています。ラテンアルファベット、数字、記号、空白文字、制御文字などの128文字を表現することができます。

ASCIIコードで扱っている文字はいわゆる半角文字となりますが、古くから使用しているメールソフトやブラウザでは半角カナに対応していない場合があるので避けるべきとされています。アプリケーションのバージョンが最新のものであれば特段気にする必要はありません。現在は国際標準化機構(ISO)により国際標準となっています。

Unicode

コンピュータに適していない文字コードを使用すると、いわゆる文字化けを起こしてしまいます。例えばWindowsで作成したファイルをメールでUnix/Linux系のコンピュータへ送信したら、意味の分からない文字列になってしまい、メールの受取人が困ってしまうというようなこと起きます。

そういった問題を解消するために、Unicodeはユニコード・コンソーシアムにより制定されました。文字を4バイトで表現し、アルファベット、漢字、カナ、アラビア文字など世界中の文字を表現しようとしています。現在はISOで規格化されており、JavaやXMLは基本コードとしてUnicodeを採用しています。そしてUnicodeで定義されている文字を実際にデータとして使用する場合には、文字符号化方式(エンコーディング)により符号化して使用します。

EUC

EUC(Extended Unix Code)は拡張UNIXコードとも呼ばれており、UNIX上で漢字、中国語、韓国語などを扱うことができるマルチバイトコードです。日本語UNIXで使用されていますがエスケープシーケンスは使用されていません。ASCII以外の文字についてはJISコードの上位ビットを立てることにより識別しています。半角文字は1桁につきバイト数が2バイトとなりますが、これに伴い半角カナ文字に対応できていないプログラムが数多く存在するのでインターネット上で半角カナを扱うことができないという制限があります。

EBCDIC

EBCDICはextended binary decimal interchange codeの略です。拡張2進化10進符号とも呼ばれており、IBM社が開発した8ビットの文字コードのことです。基本的に半角の英数字や記号、制御文字が収録されていますが日本語向けに半角カナ、漢字などを扱えるよう拡張したものもあります。主に大型コンピュータ(メインフレーム)やオフィスコンピューターで使用されています。

まとめ

文字コードは様々な機関・企業などにより制定されており、パソコンの機種や使用するアプリケーションによって向き不向きがあります。特にインターネットでメールやデータをやり取りする場合は自分のパソコンと相手のパソコンの環境によって見え方が異なる場合があるので、注意するようにしましょう。


イベント

2017/12/05(火)
Design Thinking Square