コラム

文字コード

更新日:

文字型の仕組み

2進数でも説明していますが、物理的にメモリに記憶される情報は0か1の信号です。
それを複数並べることで数を表現します。

では、文字はどのようにして記憶しているのでしょうか。

文字の場合は記憶する文字を数列に置き換えて格納します。この置き換えた数列を文字コードと呼びます。
ASCIIやUnicodeという名前を聞いたことがある方もいるでしょう。これは文字コードの一覧を定義し、規格化したものです。
余談ですが、文字コードは複数あり、文章を適切な文字コードで読み出す必要があります。これを間違えると文字化けが起きます。

使用例

charcode_sample1.c

#include <stdio.h>

int main(void)
{
	char c = 'a';

	printf("%c\n", c);
	printf("%d\n", c);

	char d = c + 1;

	printf("%c\n", d);
	printf("%d\n", d);

	char e = c - 32;

	printf("%c\n", e);
	printf("%d\n", e);

	printf("%c\n", 65);
	printf("%d\n", 65);
	
	return 0;
}

実行結果を確認してみてください。
文字型も整数型も%cで表示すると文字が、%dで表示すると文字コードが数値として印字されます。

文字コード表

以下のコードを実行するとあなたの環境に設定してあるコードに対応した文字が表示されます。
デフォルトではASCIIコードが表示されるはずです。

charcode_sample2.c

#include <stdio.h>

int main(void)
{
	int i;
	for (i = 0; i < 200; i++)
		printf("%3d : %c\n", i, i);

	return 0;
}



-コラム

Copyright© ツナのエンジニアブログ , 2023 All Rights Reserved Powered by AFFINGER5.