情報交換用コード(文字コード体系,キャラクタ・セット),ANSI,EBCDIC,JIS漢字コード,シフトJISコード,EUCコード,Unicode,UTF
例えば半角の英字「A」は 010000012=4116,漢字の「亜」は,1000 1000 1001 11112=889F16のように数値が対応しています。コンピュータ内部では文字はこの数値で取り扱われます。
ここで,対象にする文字の範囲(「半角英数字のみ」とか「第4水準漢字」など)を文字集合といいます。そして,文字集合のどの文字にどのビット列を対応させるかの体系を情報交換用コード,文字コード体系,キャラクタ・セットといいます。
英語国での文字集合は,英字(A-Z,a-z)と数字(0-9)で62個,$や%などの特殊文字を加えても256個あれば十分(7ビット=128でも十分)ですから,1バイト(=8ビット)ですべての文字種が扱え,ANSIコードのような文字コードは1バイトで構成されています。
それに対して,漢字も含む日本語の文字集合を扱うには,1バイトでは無理なので,2バイトで1文字を表す文字コードが必要になります。
この文字コード体系は,歴史的な事情により現在ではいくつかの体系が並存しています。例えば「亜」は,JISでは302116,シフトJISでは888F16,EUCではB0A116,UTF-8ではE4BA9C16のようにバラバラです。これでは不便ですので,現在UTFで統一する動きが進んでいます。
| |
0000 (00) | 0001 (10) | 0010 (20) | 0011 (30) | 0100 (40) | 0101 (50) | 0110 (60) | 0111 (70) | 1000 (80) | 1001 (90) | 1010 (A0) | 1011 (B0) | 1100 (C0) | 1101 (D0) | 1110 (E0) | 1111 (F0) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0000 | (00) | DE | 0 | @ | P | p | ー | タ | ミ | ||||||||
0001 | (01) | SH | D1 | ! | 1 | A | Q | a | q | 。 | ア | チ | ム | ||||
0010 | (02) | SX | D2 | ” | 2 | B | R | b | r | 「 | イ | ツ | メ | ||||
0011 | (03) | EX | D3 | # | 3 | C | S | c | s | 」 | ウ | テ | モ | ||||
0100 | (04) | ET | D4 | $ | 4 | D | T | d | t | , | エ | ト | ヤ | ||||
0101 | (05) | EQ | NK | % | 5 | E | U | e | u | ・ | オ | ナ | ユ | ||||
0110 | (06) | AK | SN | & | 6 | F | V | f | v | ヲ | カ | ニ | ヨ | ||||
0111 | (07) | BL | EB | ’ | 7 | G | W | g | w | ァ | キ | ヌ | ラ | ||||
1000 | (08) | BS | CN | ( | 8 | H | X | h | x | ィ | ク | ネ | リ | ||||
1001 | (09) | HT | EM | ) | 9 | I | Y | i | y | ゥ | ケ | ノ | ル | ||||
1010 | (0A) | LF | SB | * | : | J | Z | j | z | ェ | コ | ハ | レ | ||||
1011 | (0B) | HM | EC | + | ; | K | [ | k | { | ォ | サ | ヒ | ロ | ||||
1100 | (0C) | CL | → | , | < | L | ¥ | l | | | ャ | シ | フ | ワ | ||||
1101 | (0D) | CR | ← | - | = | M | ] | m | } | ュ | ス | ヘ | ン | ||||
1110 | (0E) | SO | ↑ | . | > | N | ^ | n |  ̄ | ョ | セ | ホ | ゛ | ||||
1111 | (0F) | SI | ↓ | / | ? | O | _ | o | ッ | ソ | マ | ゜ |