« # エンコードの基本 - 短期講座第4回 - | トップページ | # 秀丸マクロを使う準備 - 短期講座第6回 - »

2014.06.16

# 文字コード - 短期講座第5回 -

前回ダウンロードしたテキストファイルを使って、文字コードの話に進みます。

文字コードについては、しばらく前にside TRADOSにも記事を書きました。

リンク:禿頭帽子屋の独語妄言 side TRADOS: PCスキル - 文字コードをちょっと意識する

リンク:禿頭帽子屋の独語妄言 side TRADOS: PCスキル - 文字コードをもうちょっと意識する


今回の記事を読んでから、こちらもお読みいただくとよいかもしれません(内容は一部重複します)。


「文字コード」という用語は、前回やった「エンコード」とほぼ同義に使われることもあります。

ここでは一応、

ある文字セット(エンコード)で、各文字に割り当てられているコード

のことを「文字コード」と呼ぶことにしますが、例によってこの辺の用語はユルユルで進めます。


前回ダウンロードしたファイル ASCII.txt を秀丸で開いてください。

なお、前回の記事についてFacebookでコメントをいただきました。「ダウンロードしたファイルはUTF-8」と書きましたが、環境によってはShift-JISファイルとしてダウンロードされることがあるようです。テキストファイルをShift-JISでアップロードすると、ダウンロードしたとき文字化けすることがあるので、わざわざUTF-8に設定してアップロードしたのですが、ダウンロードの時点でエンコードが変わってしまうこともある。この辺が、エンコードのややこしいところでもあります。


カーソルがファイルの先頭にある状態で、[その他]→[コマンド一覧]を選択すると、[ファイル]メニューの近くにこのようなメニューが出現します。

1406161_2

もしかすると、この機能自体ほとんど知られていないかもしれません。表のメニューからは見えない機能が、実はいろいろあるのです。この"裏メニュー"から、さらに

[その他]→[文字コード表示]

を選択すると、カーソル直後にある文字の文字コードを調べることができます。

1406162_2

これが、感嘆符(!)の文字コード。

Shift-JISでは0x21
UTF-8でも0x21

ということがわかります。

同じようにアルファベット大文字のAとZの文字コードを見てみると---

1406163_2

これが、A。

1406164_2

これが、Zです。

0x21、0x41、0x5A...

この表し方についても説明が必要ですね。

21、41、5A

というのは、単なる英数字の並びでもふつうの数字でもなく、16進数です。16進数のことが分からない人は、こちらなどを参照してください。

そして、冒頭にいちいち0xと付いているのは、これが16進数であることの目印です。

今回の短期講座では扱いませんが、PCを知りたいなら、やはり2進数と16進数のことは理解しておいたほうがよさそうです。それがわかると、「1024って、キリがいい数字だね」などというわけのわからない発言の意味もわかるようになります。


前回も書いたように、このファイルにある文字は基本中の基本なので、Shift-JISでもUTF-8でも(そして、上の図で赤線を引いていない他のエンコードでも)、文字コードは同じです。


ファイル:日本語の文字

次に、このファイルをダウンロードして、秀丸で開いてみてください。日本語で使うひらがな、かたかな、常用漢字です。さっきと同じ手順で、「あ」、「ア」、「亜」の文字コードをそれぞれ調べてみてください。

文字コードを調べるとき、いちいちさっきの手順で裏メニューからコマンドを探すのはけっこう面倒くさいですね。そう思ったときこそ、PCスキル向上のチャンスです。秀丸エディタには「キー割り当て」という機能があります。これも近いうちに説明する予定です。

1406165_3

「あ」の文字コード。Shift-JISでは82A0、UTF-8ではE38182

1406166_3

「ア」の文字コード。Shift-JISでは8341、UTF-8ではE382A2

1406167_2

「亜」の文字コード。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にない文字

も秀丸エディタで開いて、文字コードを調べてみます。

1406168_2

丸シー、著作権記号は、UTF-8でE292B8ですが、Shift-JISの文字コードは......ありません。

Shift-JISに文字コードが存在しないということは、さっき「ア」でやったような内部処理が通用しないということになります。前回、警告ダイアログが出て、「?」に置き換えられたのは、実はこれが原因だったわけです。


ファイルを保存したりダウンロードしたりしたとき、文字表記がなーんか変だ、というときは、まず文字コードのことを考えてみてください。

06:37 午前 翻訳者のPCスキル |

はてなブックマークに追加

« # エンコードの基本 - 短期講座第4回 - | トップページ | # 秀丸マクロを使う準備 - 短期講座第6回 - »

コメント

この記事へのコメントは終了しました。