# 文字コード - 短期講座第5回 -
前回ダウンロードしたテキストファイルを使って、文字コードの話に進みます。
文字コードについては、しばらく前にside TRADOSにも記事を書きました。
リンク:禿頭帽子屋の独語妄言 side TRADOS: PCスキル - 文字コードをちょっと意識する
リンク:禿頭帽子屋の独語妄言 side TRADOS: PCスキル - 文字コードをもうちょっと意識する
今回の記事を読んでから、こちらもお読みいただくとよいかもしれません(内容は一部重複します)。
「文字コード」という用語は、前回やった「エンコード」とほぼ同義に使われることもあります。
ここでは一応、
ある文字セット(エンコード)で、各文字に割り当てられているコード
のことを「文字コード」と呼ぶことにしますが、例によってこの辺の用語はユルユルで進めます。
前回ダウンロードしたファイル ASCII.txt を秀丸で開いてください。
なお、前回の記事についてFacebookでコメントをいただきました。「ダウンロードしたファイルはUTF-8」と書きましたが、環境によってはShift-JISファイルとしてダウンロードされることがあるようです。テキストファイルをShift-JISでアップロードすると、ダウンロードしたとき文字化けすることがあるので、わざわざUTF-8に設定してアップロードしたのですが、ダウンロードの時点でエンコードが変わってしまうこともある。この辺が、エンコードのややこしいところでもあります。
カーソルがファイルの先頭にある状態で、[その他]→[コマンド一覧]を選択すると、[ファイル]メニューの近くにこのようなメニューが出現します。
もしかすると、この機能自体ほとんど知られていないかもしれません。表のメニューからは見えない機能が、実はいろいろあるのです。この"裏メニュー"から、さらに
[その他]→[文字コード表示]
を選択すると、カーソル直後にある文字の文字コードを調べることができます。
これが、感嘆符(!)の文字コード。
Shift-JISでは0x21
UTF-8でも0x21
ということがわかります。
同じようにアルファベット大文字のAとZの文字コードを見てみると---
これが、A。
これが、Zです。
0x21、0x41、0x5A...
この表し方についても説明が必要ですね。
21、41、5A
というのは、単なる英数字の並びでもふつうの数字でもなく、16進数です。16進数のことが分からない人は、こちらなどを参照してください。
そして、冒頭にいちいち0xと付いているのは、これが16進数であることの目印です。
今回の短期講座では扱いませんが、PCを知りたいなら、やはり2進数と16進数のことは理解しておいたほうがよさそうです。それがわかると、「1024って、キリがいい数字だね」などというわけのわからない発言の意味もわかるようになります。
前回も書いたように、このファイルにある文字は基本中の基本なので、Shift-JISでもUTF-8でも(そして、上の図で赤線を引いていない他のエンコードでも)、文字コードは同じです。
ファイル:日本語の文字
次に、このファイルをダウンロードして、秀丸で開いてみてください。日本語で使うひらがな、かたかな、常用漢字です。さっきと同じ手順で、「あ」、「ア」、「亜」の文字コードをそれぞれ調べてみてください。
文字コードを調べるとき、いちいちさっきの手順で裏メニューからコマンドを探すのはけっこう面倒くさいですね。そう思ったときこそ、PCスキル向上のチャンスです。秀丸エディタには「キー割り当て」という機能があります。これも近いうちに説明する予定です。
「あ」の文字コード。Shift-JISでは82A0、UTF-8ではE38182。
「ア」の文字コード。Shift-JISでは8341、UTF-8ではE382A2。
「亜」の文字コード。Shift-JISでは889F、UTF-8ではE4BA9C。
最初に見たように、ASCII 文字の文字コードは2桁です。1バイトだから。一方、Shift-JISの文字コードは4桁、つまり2バイトです。さらにUTF-8になると6桁、つまり3バイトということになります。
それから、ASCII 文字とは違い、エンコードごとに文字コードも違うことがわかります。したがって、エンコードをUTF-8からShift-JISに変更してファイルを保存したとき、たとえばカタカナの「ア」は
E38182 → 8341
という風にPC内部では変換されているわけです。この変換がうまくいかないとき、いわゆる文字化けが起きることになります。
最後に、このファイル
ファイル:Shift-JISにない文字
も秀丸エディタで開いて、文字コードを調べてみます。
丸シー、著作権記号は、UTF-8でE292B8ですが、Shift-JISの文字コードは......ありません。
Shift-JISに文字コードが存在しないということは、さっき「ア」でやったような内部処理が通用しないということになります。前回、警告ダイアログが出て、「?」に置き換えられたのは、実はこれが原因だったわけです。
ファイルを保存したりダウンロードしたりしたとき、文字表記がなーんか変だ、というときは、まず文字コードのことを考えてみてください。
この記事へのコメントは終了しました。
コメント