はじめに
こんにちは
今回は久しぶりにC言語を触りたいと思います。
その中でも 「文字コード」 について紹介したいと思います。
そういえばコンピュータは0と1しかわからないんですよね。文字も数値として扱っているんですかね
実はコンピュータの内部では、文字も 「数値」 として扱われています。各文字の形に対応する数値を「文字コード」と言います(charactor code)。
文字コードの種類には様々なものがあります。代表的なものは 「Unicode」 「JISコード」 があります。どの文字コードが使用されているかは、皆さんのお使いの環境によって異なります。
文字コードを使う
今回はC言語で文字コードについて見ていきたいと思います。
エスケープシーケンスである 「¥○○」 や 「¥x△△」 を出力すると、指定した文字コードに対応する文字が出力されます。実際にコードで見てみましょう
#include <stdio.h>
int main(void)
{
// 文字コードをもつ文字の出力をします.
printf("\n");
printf("8進数101の文字コードをもつ文字コードをもつ文字は「%c」です。\n", '\101');
printf("16進数61の文字コードをもつ文字コードをもつ文字は「%c」です。\n", '\x61');
return 0;
}
使用している環境が 「シフトJISコード」 などで処理されている場合、次のような実行結果が得られるかと思います。
シフトJISコードでは8進数の「101」がA、16進数の「61」がaに対応しています。そのため、実行結果のように「A」「a」が出力されるのです。
このプログラムは、お使いの環境が別の文字コードを使用している場合、このように出力されない場合もありますのでご注意です
おわりに
今回のちょっとしたまとめになります。
文字コードを指定して、文字を出力することができる
どの文字コードが使用されているかはお使いの環境によって異なる
最後までお読みいただきありがとうございました!
「参考書」
やさしいC 第5版 (「やさしい」シリーズ)「参考サイト」
文字コード