12
1

[C言語 #3] 文字コード

Last updated at Posted at 2024-09-30

はじめに

こんにちは
今回は久しぶりにC言語を触りたいと思います。:keyboard:
その中でも 「文字コード」 について紹介したいと思います。

:rolling_eyes:そういえばコンピュータは0と1しかわからないんですよね。文字も数値として扱っているんですかね
:upside_down:実はコンピュータの内部では、文字も 「数値」 として扱われています。各文字の形に対応する数値「文字コード」と言います(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コード」 などで処理されている場合、次のような実行結果が得られるかと思います。
スクリーンショット 2024-09-29 145353.png
:upside_down: シフトJISコードでは8進数の「101」がA、16進数の「61」がaに対応しています。そのため、実行結果のように「A」「a」が出力されるのです。

このプログラムは、お使いの環境が別の文字コードを使用している場合、このように出力されない場合もありますのでご注意です:computer:

おわりに

今回のちょっとしたまとめになります。

文字コードを指定して、文字を出力することができる

どの文字コードが使用されているかはお使いの環境によって異なる

最後までお読みいただきありがとうございました!

「参考書」
やさしいC 第5版 (「やさしい」シリーズ)

「参考サイト」
文字コード

12
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
1