コンピュータにおいて、「文字」は「コード(数値)」で表します。1つ1つの文字にコードが割り当てられているのです。
目次
1. コンピュータにおける文字の基本「ASCII」文字コード
コンピュータの世界では「アルファベット」が全ての基本になっています。そして、アルファベットや数字といった基本的な文字のコードは「ASCII」と呼ばれる文字コードで規定されています(タブ文字や改行文字など、目に見えない文字も含まれています)。
ASCII制御文字
ASCII に含まれる「目に見えない文字」のことを「ASCII制御文字」といいますが、その一部は以下のように規定されています。
この中でまず知っておきたいのは、
- 10進数の列が「10」の行の「改行(LF)」
- 10進数の列が「13」の行の「復帰(CR)」
です。テキストファイルに文章を書く場合、Enter
を押して改行しますが、この時「改行を意味するコード」が入力されています。「改行を意味するコード」と書いたのは、システムや設定によって使用されるコードが異なるためです。
- Windows であれば、「復帰(CR)」+「改行(LF)」
- Mac であれば「復帰(CR)」
- Linux であれば「改行(LF)」
を使用します。ただし、テキストエディタの設定によって変更することもできます。
それ以外のASCII制御文字は、必要な時に調べればよいと思います。大部分は知らなくても支障のないコードです。
参考となるページ
ASCII印字可能文字
「目に見える文字」を「印字可能文字」と言いますが、ASCIIの「印字可能文字」には以下のコードが割り当てられています。
ちょっと分かりにくいかもしれませんが、各マスの下から二番目が10進数の数値になっており、「1
には 49
が、A
には 65
が割り当てられている」ということが分かります。
2. 日本語の文字エンコーディング
「日本語の文字の集合をコードで表す方法」のことを「文字エンコーディング」と言います。いろいろな種類があるのですが、ここでは、「Shift_JIS」と「UTF-8」を挙げたいと思います。
Shift_JIS
- Windows の「メモ帳」で何か文章を書いてそのまま保存すると、文字エンコーディングは「Shift_JIS」になり(厳密には CP932)、改行コードは「CR + LF」になります。
UTF-8
- Unicodeという文字コードを使って、文字を表現する方式の1つです。
- 現在(2017年)、ウェブサイトの多くは「UTF-8」を使っています。
- Shift_JIS では、英語・日本語以外の文字を使うことができませんが、UTF-8 であれば様々な言語の文字を一緒に使うことができます。
参考となるページ
3. Windows のメモ帳で保存できる文字エンコーディング
Windows のメモ帳でファイルを保存する際には、4種類の文字エンコーディングが選べます。
文字エンコーディング | 説明 |
---|---|
ANSI | Shift_JIS(厳密にはCP932)で保存されます。 |
Unicode | BOMありリトルエンディアンのUTF-16で保存されます。 |
Unicode big endian | BOMありビッグエンディアンのUTF-16で保存されます。 |
UTF-8 | BOMありのUTF-8で保存されます。 |
参考となるページ
4. Windows でのファイル検索と文字エンコーディング
Windows 10 のエクスプローラにはファイル検索機能がついています。ファイル名で検索するのが基本的な機能なのですが、インデックスを作成しておけば、ファイルの中身に対して検索することも可能です(全文検索)。ただしテキストファイルを検索する場合は文字エンコーディングに注意が必要です。わたしが把握している範囲で書いておきますと、メモ帳で保存できる文字エンコーディングでないと、全文検索できません。
つまり、以下の文字エンコーディングです。
- Shift_JIS(厳密にはCP932)(メモ帳での「ASCII」)
- BOMありリトルエンディアンのUTF-16(メモ帳での「Unicode」)
- BOMありビッグエンディアンのUTF-16(メモ帳での「Unicode big endian」)
- BOMありのUTF-8(メモ帳での「UTF-8」)
5. テキストファイルの文字エンコーディングとして何を使えばよいのか?
テキストファイルの文字エンコーディングを何にするかについては、議論の余地がありますが、Windows しか使わない人であれば、Shift_JIS でもよいのではないかと思います。
UTF-8 を使いたい場合は、BOMありか BOMなしにするかで迷うところです。以下のポイントを知った上で、どちらか選びましょう。
BOMありのUTF-8
- Windowsのエクスプローラで全文検索できる。
- Windowsのエクスプローラ上で、新規にテキストファイル(テキストドキュメント)を作成すると、BOMがない状態になっているので、これをテキストエディタ(メモ帳以外の)で開くと BOMなしと判断されてしまう。このため、BOMをつけて保存するためには、わざわざ文字エンコーディングを手動で指定する必要がある。
BOMなしのUTF-8
- UTF-8 に BOMは必要ありませんので、本来はこちらの方が自然です。
- Windowsのエクスプローラで全文検索できません。
- メモ帳以外のテキストエディタで、「BOMなしUTF-8」をデフォルトの文字エンコーディングとして設定しておけば、Windowsのエクスプローラ上で、新規にテキストファイル(テキストドキュメント)を作成したファイルを開いて編集してそのまま保存すれば、「BOMなしUTF-8」のテキストファイルになります。
BOMなしUTF-8で作成したテキストファイルに対してファイルの中身で検索(全文検索)する方法
- 高機能なテキストエディタ(秀丸、Mery、サクラエディタなど)についている検索機能でフォルダを指定して検索することが可能です。
- JGREP などの検索用アプリケーションを使うこともできます。
6. 個人的な意見
理想を言えば、エクスプローラのファイル検索機能に、文字エンコーディングを指定するオプションを追加してくれるとよいと思います。
参考となるページ