文字コード
文字コードとは様々な言語の様々な文字とコンピュータが認識できる数値とを結びつける体系のことである。
多彩な言語の多彩な文字を一つのコードで表現することはコンピュータ側の性能の問題でできなかった。その結果複数の文字コードが用いられることとなった。また一つの言語(例えば日本語)でもコンピュータの環境その他様々な経緯から複数の文字コードが存在している。そしてその文字コード間には相互に互換性がない。ある文字コードで表現された文字は別の文字コードでは判読不明なものとなってしまうのだ。
日本語表現に用いられる代表的な文字コード
- ISO-2022-JP(JIS)
- 学術・産業分野での利用を目的に制定され、その歴史は古い。由緒正しい文字コードとされている。現在では日本語の電子メールの正式規格とされている。半角カナや「環境依存文字」は扱えない。
- Shift_JIS
- JISを当時のリソースの限られたパーソナルコンピュータの都合に合わせて作られた文字コード。現在でもパソコンでは標準的に用いられている。いわゆる「環境依存文字」問題は主にこの文字コード下で生じる。
- EUC-JP
- 当時のパソコンよりもリソースに余裕のあったワークステーション向けに作られた文字コード。今でもサーバでは標準的に用いられている。「環境依存文字」はShift_JISと同様。
- UTF-8
- コンピュータリソースに余裕が出たために、様々な言語の様々な文字を一つの体系にまとめ直そうとする動きが出てきた。そのために定義された文字集合が「Unicode」であり、それを実際にコンピュータ用の数値に割り当てる一つの規格がUTF-8である。新興だが筋の良さで人気。最近流行のhtml5はUTF-8推奨。いわゆる「環境依存文字」のローマ数字(Ⅰ)や丸付き数字(①)なども取り扱える。
- UTF-16(俗称「Unicode」)
- Unicodeの文字セットを数値に割り当てるUTF-8とは別の方法を採用した文字コード。Windowsでは単に「Unicode」と呼ばれていたりする。日本語などの2バイト文字の利用にはUTF-8よりも効率がよい。
ということで、今でも様々な文字コードが併存しており、それを切り替えて利用しなければならない。最近はアプリケーションが自動的に処理してくれることが多く、余り意識する機会はないが、たまに「文字化け」が発生するとこの文字コードの問題を疑い、ユーザが様々に対処しなければならないこともあるのだ。
ということでクイズ
このページに書かれている[クイズ]に回答してください。
この部分はUTF-8で書かれています。読めますか?
↓はShift_JISで書かれています。読めますか?
̕Shift_JISŏĂ܂Bǂ߂܂H
EUC-JPŏĂ܂Bǂ߂܂H
ʬEUC-JPǽƤޤɤޤ
JIS(ISO-2022-JP)ǽƤޤɤޤ
$B$3$NItJ,$O(BJIS(ISO-2022-JP)$B$G=q$+$l$F$$$^$9!#FI$a$^$9$+!)(B
[$B%/%$%:(B]$B$G$O$3$N%Z!<%8A4BN$O$I$NJ8;z%3!<%I$G=q$+$l$F$$$k$N$G$7$g$&$+!#(B