7月7日(水)1コマ目
今日、やったこと
文字コードのつづき
今日のホワイトボード
先週は
- 文字のあつまり = 文字集合
- 文字を数値に置き換えるためのルール = 文字符号化方式
がポイントでした。
さらに、初期のころに使われていた文字集合と符号化方式が一体化したASCIIやJIS X 0201で実際に符号化してみました。
符号化方式
日本語を含む文字集合(JIS X 0201、JIS X 0208など)に対応した符号化方式として
- Shift_JIS(亜種が結構ある)
- EUC-JP
- ISO-2022-JP
- UTF-8
などがあります。
Shift_JIS
符号化のルールは結構めんどくさいことをやっているので省略。
SJISとも呼ばれ、日本で最も使われている符号化方式(と思う)。
![]() |
| 図 Shift_JIS |
EUC-JP
UNIXはこちらを利用。
文字集合ごとに符号化方式が異なる。
![]() |
| 図 1をEUC-JPで符号化 |
![]() |
| 図 半角カナのイ、ヌを符号化 |
![]() |
| 図 全角カナのイ、ヌを符号化 |
ISO-2022-JP
Web(とくにメール)で利用。
UTF-8
UNICODEとよく混合されて扱われる。
UNICODEは文字集合(文字のあつまり)。
UTF-8はUNICODE中の文字を符号化するための符号化方式。
「文字コードはUNICODEで・・」は間違った使い方。
「文字コードはUTF-8で・・」が正しい。
なぜ文字化けする?
送信側で利用した文字符号化方式と受信側で利用した文字符号化方式が一致しないため発生。
なお、ASCIIに含まれる数字、アルファベット、記号はどの符号化方式でもASCIIでの符号化方式を継承している。よって、数字、アルファベット、記号は文字化けすることは基本的にない。
結局、全角文字が文字化けすることになる。
次回は
誤差と文字コードのテストします。
基本情報技術者試験の午前問題から誤差と文字コードに関する問題をチェックしてください。
なお、符号化方式を暗記してこいなんてことは要求しません。




コメント