「文字型データ」

文字コード

全ての文字にはそれぞれ固有の整数値が割り当てられており、 これを文字コードと呼ぶ。 コードの割り当て方法は無数に考えられるが、各々が独自の割り当て法を使っ ていたのでは、情報の交換の際に障害となるため、標準となる割り当て法が定 められている。 現在一般に使われているのはASCII (American Standard Code for Information Interchange) コードと呼ばれるもので、以下のようなコード表となっている。
(他にも大型計算機などで使用されているEBCDICなどがあるが、ここでは扱わない)

ASCII code character table
     (0 〜 31および127は制御文字)
     32 ' '     33 '!'     34 '"'     35 '#'     36 '$'     37 '%'     38 '&'     39 '''    
     40 '('     41 ')'     42 '*'     43 '+'     44 ','     45 '-'     46 '.'     47 '/'    
     48 '0'     49 '1'     50 '2'     51 '3'     52 '4'     53 '5'     54 '6'     55 '7'    
     56 '8'     57 '9'     58 ':'     59 ';'     60 '<'     61 '='     62 '>'     63 '?'    
     64 '@'     65 'A'     66 'B'     67 'C'     68 'D'     69 'E'     70 'F'     71 'G'    
     72 'H'     73 'I'     74 'J'     75 'K'     76 'L'     77 'M'     78 'N'     79 'O'    
     80 'P'     81 'Q'     82 'R'     83 'S'     84 'T'     85 'U'     86 'V'     87 'W'    
     88 'X'     89 'Y'     90 'Z'     91 '['     92 '\'     93 ']'     94 '^'     95 '_'    
     96 '`'     97 'a'     98 'b'     99 'c'    100 'd'    101 'e'    102 'f'    103 'g'    
    104 'h'    105 'i'    106 'j'    107 'k'    108 'l'    109 'm'    110 'n'    111 'o'    
    112 'p'    113 'q'    114 'r'    115 's'    116 't'    117 'u'    118 'v'    119 'w'    
    120 'x'    121 'y'    122 'z'    123 '{'    124 '|'    125 '}'    126 '~'
0番から31番までと127番は制御文字と呼ばれ、通常の文字とは扱いが異なる。 (文字として表示されない)
48番から57番までは数字、65番から90番までがアルファベットの大文字、 97番から122番までがアルファベットの小文字に割り当てられている。
例えば、アルファベットの'B'は66番、数字の'9'は57番になっており、 'B' == 66であり、'9' == 57と同じ意味である。

以下の プログラムによりASCIIコードの文字一覧が確認できる。

#include <stdio.h>

int
main(void)
{
    int i, j;

    printf("ASCII code character table\n");
    for (i = 4; i < 16; i++) {
	for (j = 0; j < 8; j++)
	    printf("%3d '%c'  ", i*8+j, i*8+j);
	printf("\n");
    }
    return 0;
}

ASCIIコードはアルファベットや数字などの7ビットで表現できる範囲(つまり 最大でも128文字)の文字のみを扱った文字コードであり、日本語で使用する 漢字などの文字は含まれない。 日本語などの文字を扱うには最低でも2バイト必要となるため、C言語の char型で は表現できない。 日本語を扱える文字コードとしては、JISコード、シフトJISコード、 日本語EUCコードが存在し、どれも2バイト以上のコードで1文字を表現する。
他にも日本語以外の中国語、韓国語など全ての言語で使用する文字を 統一して扱うことを目的に考えられた Unicode(ユニコード)がある。


文責:大津