4. 文字コード
文字コードは、印字出力、表示(キャラクタディスプレイ)出力、伝送処理などの入出力用に準備されたものです。
ですから、文字コードの数字で演算をする事はありません。計算は、2進法(3.1 2進法参照)で行います。
(1)ASCII(アスキー)コード
アメリカの規格団体であるANSIが定めた文字コードです。
アルファベット、特殊記号、数字、制御コードを7ビットのコードに割り当てたものです。
@アルファベット:a,b,c,・・・・・・・
A特殊記号 :!、”、#、<、・・・・
B制御コード :LF(行送り)、CR(改行)、BS(バックスペース)、・・・・
上位ビット | |||||||||
制御コード | 英数字・記号コード | ||||||||
000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 | ||
下 位 ビ ッ ト |
0000 | NULL | DLE | 空白 | 0 | @ | P | ` | p |
0001 | SOH | DC1 | ! | 1 | A | Q | a | q | |
0010 | STX | DC2 | " | 2 | B | R | b | r | |
0011 | ETX | DC3 | # | 3 | C | S | c | s | |
0100 | EOT | DC4 | $ | 4 | D | T | d | t | |
0101 | ENQ | NAC | % | 5 | E | U | e | u | |
0110 | ACK | SYN | & | 6 | F | V | f | v | |
0111 | BELL | ETB | ' | 7 | G | W | g | w | |
1000 | BS | CAN | ( | 8 | H | X | h | x | |
1001 | HT | EM | ) | 9 | I | Y | i | y | |
1010 | LF | SUB | * | : | J | Z | j | z | |
1011 | VT | ESC | + | ; | K | [ | k | { | |
1100 | FF | FS | , | < | L | (逆スラッシュ) | l | | | |
1101 | CR | GS | - | = | M | ] | m | } | |
1110 | SO | RS | . | > | N | ^ | n | ~ | |
1111 | SI | US | / | ? | O | _ | o | DELL |
(2)JISコード
日本工業規格が定めた文字コード
@JIS7単位符号
ASCIIコードに準じたコードです。
AJIS8単位符号
ASCIIコードに半角カタカナを追加したコードです。
一般的に、JIS8単位コードをJISコードといいます。
上位ビット | |||||||||||||||||
制御コード | 英数字・記号コード | 未使用 | 半角カタカナコード | 未使用 | |||||||||||||
0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 | ||
下 位 ビ ッ ト |
0000 | NULL | DLE | 空白 | 0 | @ | P | ` | p | 未使用 | ー | タ | ミ | ||||
0001 | SOH | DC1 | ! | 1 | A | Q | a | q | 。 | ア | チ | ム | |||||
0010 | STX | DC2 | " | 2 | B | R | b | r | | | イ | ツ | メ | |||||
0011 | ETX | DC3 | # | 3 | C | S | c | s | 」 | ウ | テ | モ | |||||
0100 | EOT | DC4 | $ | 4 | D | T | d | t | 、 | エ | ト | ヤ | |||||
0101 | ENQ | NAC | % | 5 | E | U | e | u | ・ | オ | ナ | ユ | |||||
0110 | ACK | SYN | & | 6 | F | V | f | v | ヲ | カ | ニ | ヨ | |||||
0111 | BELL | ETB | ' | 7 | G | W | g | w | ァ | キ | ヌ | ラ | |||||
1000 | BS | CAN | ( | 8 | H | X | h | x | ィ | ク | ネ | リ | |||||
1001 | HT | EM | ) | 9 | I | Y | i | y | ゥ | ケ | ノ | ル | |||||
1010 | LF | SUB | * | : | J | Z | j | z | ェ | コ | ハ | レ | |||||
1011 | VT | ESC | + | ; | K | [ | k | { | ォ | サ | ヒ | ロ | |||||
1100 | FF | FS | , | < | L | \ | l | | | ャ | シ | フ | ワ | |||||
1101 | CR | GS | - | = | M | ] | m | } | ュ | ス | ヘ | ン | |||||
1110 | SO | RS | . | > | N | ^ | n | ~ | ョ | セ | ホ | ゙ | |||||
1111 | SI | US | / | ? | O | _ | o | DELL | ッ | ソ | マ | ゚ |
例)カ(1011 0110)、ガ(1011 0110 1101 1110)
半角カタカナでは、濁点・半濁点も1文字としてかぞえるため、”ガ”は2文字分のコードを使います。
(3)JIS漢字コード(コード表は省略)
1バイトのJISコードの他に、漢字を表す為に制定された2バイトのコードです。
以下の3種類がJISで制定されています。
a.基本的文字の第一水準
b.後に追加された第二水準
c.JIS補助漢字
(4)その他のコード(コード表は省略)
a.EBCDIC(エビスディック)コード
IBM社が、同社の大型コンピュータで使用していた文字コードです。
半角カナコードを追加したものを、EBCDIKコードと称する事もあります。
b.EUCコード
AT&T社が制定したUNIXコンピュータで使用されている文字コードです。
サーバーで使用されているUNIXコンピュータでは半角カタカナに対応していないものが
多く存在するため、トラブルを起こす事があります。
(UNIXの他の制御コードと誤読する可能性があります。)
c.Unicode
ISOとIECが制定した、世界各国の文字体系に対応した2バイトの文字コードです。
3)BCDの演算について
・コンピュータ内部では、殆どの計算を2進法(バイナリ)状態で行うため、BCDコードのままでの演算は、
できません。
・上の表で分かるように、BCD表現の”10”は2進法の”16”となってしまいます。
・一般的に、BCDコードは、数値として扱う前に、2進法(バイナリ)への変換を行います。