読むだけでいい基本情報技術者試験対策2:指数計算と文字コード
前回、情報量の表現方法としてビットやギガ(G)という単位を学びました。ここで指数が出てきたため、高校数学の指数計算に関して一度復習をしておきましょう。
指数法則は以下の通りです。
- x^s × x^t = x^s+t
- x^s ÷ x^t = x^s-t
- (x^s)^t = x^st
- x^0 = 1
- x^-s = 1/x^s
- x^1/s = s√x(xのs乗根)
例えば(めんどくさいかもしれませんが、数学に自信がない人はちゃんと数式を追ってみると理解が深まると思います)
2^2 × 2^3 =2×2 + 2×2×2 = 4 × 8 = 32 = 2^5 成り立っていますね。
2^8 ÷ 2^4 = 22222222 ÷ 2222 = 256 ÷ 16 = 16 = 2^8-4 = 2^4 成り立っていますね。
(2^2)^2 = (2×2)(2×2) = 4 × 4 = 16 = 2^2+2 = 2^4 成り立っています。
残りはこういう定義と覚えるしかないですね。
次に文字コードについて説明します。
文字化けという現象を体験したことはあるでしょうか。これが起こるのは情報の変換の方法が違うからなのです。
コンピューターの中ではすべてが2進数で表現されますが、これをアルファベットや日本語に置き換えるとき、一定のルールに従って変換します。これが文字コードです。しかし、何らかのミスであるコードで変換すべきところを別の文字コードで変換してしまうときがあります。これだと変換ルールが違うので文字化けが発生してしまいます。
文字コードには大きく以下の4種類があります。
まずASCⅡコード。英数字と特殊文字($&%などのように言語学的な「文字」と定義されないもの)しか表現できません。
次にソフトJISコード。英数字特殊文字に加えて漢字やかなも入力可能。winやマックはこれです。
次にEUCコード。これも使えるのはソフトJISと一緒ですが、UNIXやLinuxで使用されてます。
最後にUNICODE。これは世界中の文字を表現できるようにする文字コードです。UTF-8というものを聞いたことがあるかもしれません。これはUNICODEにおける符号化方式の一つです。
試しに文字化けを起こしてみましょう。
今は便利な時代で文字化けなんて一種のバグですら再現できるサイトがあるんですね…
シフトJISコードで
「私は言いました。"Shall we dance?"」
と入力し、これをUTF-8でデコードしてみます。すると
「"???͌????܂????B"Shall we dance?"」と見事に文字化けしています。
英文の部分だけが共通のプロトコルなのか、ここだけが原型をとどめています。
やってみたい人はここでどうぞ
参考文献