からあげの備忘録

ダメ社会人。継続は力。

マルチバイト文字とワイド文字

マルチバイト文字

Shift_JISUTF-8といった文字コードでは1文字を表現するための大きさが一定ではありません。
このような文字コードはマルチバイト文字と呼ばれます。
MSDNによると1バイト以上のシーケンスで構成される文字はマルチバイト文字らしいので、
マルチバイト文字とワイド文字 | Microsoft Docs
ASCIIコードもマルチバイト文字に含まれるようです。
C言語のchar型を使用して表現する文字はマルチバイト文字です。

ワイド文字

C言語の文字型にはchar型ともう1つ、wchar_t型が存在します。
このwchar_t型で表現する文字のことをワイド文字と呼び、全ての文字を同一バイト数で表します。
char型は規格で8ビットと決まっていますが、wchar_t型は環境依存なので16ビットだったり32ビットだったりします。

ワイド文字、ワイド文字列のリテラルには、下記のように接頭辞 L を付けます。

wchar_t wc = L'あ';			// ワイド文字
wchar_t wstr = L'あいうえお';	// ワイド文字列