ICT

文字エンコーディング

投稿日:2017年6月7日 更新日:

コンピュータにおいて、「文字」は「コード(数値)」で表します。1つ1つの文字にコードが割り当てられているのです。

1. コンピュータにおける文字の基本「ASCII」文字コード

コンピュータの世界では「アルファベット」が全ての基本になっています。そして、アルファベットや数字といった基本的な文字のコードは「ASCII」と呼ばれる文字コードで規定されています(タブ文字や改行文字など、目に見えない文字も含まれています)。

ASCII制御文字

ASCII に含まれる「目に見えない文字」のことを「ASCII制御文字」といいますが、その一部は以下のように規定されています。

ASCII制御文字

この中でまず知っておきたいのは、

  • 10進数の列が「10」の行の「改行(LF)
  • 10進数の列が「13」の行の「復帰(CR)

です。テキストファイルに文章を書く場合、Enter を押して改行しますが、この時「改行を意味するコード」が入力されています。「改行を意味するコード」と書いたのは、システムや設定によって使用されるコードが異なるためです。

  • Windows であれば、「復帰(CR)」+「改行(LF)」
  • Mac であれば「復帰(CR)」
  • Linux であれば「改行(LF)」

を使用します。ただし、テキストエディタの設定によって変更することもできます。

それ以外のASCII制御文字は、必要な時に調べればよいと思います。大部分は知らなくても支障のないコードです。

参考となるページ

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 であれば様々な言語の文字を一緒に使うことができます。
CP932とは?
CP932とは、マイクロソフト社などが独自に Shift_JIS を拡張した文字エンコーディングです。

参考となるページ

3. Windows のメモ帳で保存できる文字エンコーディング

Windows のメモ帳でファイルを保存する際には、4種類の文字エンコーディングが選べます。

画面1.メモ帳で「名前をつけて保存」しているところ
画面1.メモ帳で「名前をつけて保存」しているところ
文字エンコーディング 説明
ANSI Shift_JIS(厳密にはCP932)で保存されます。
Unicode BOMありリトルエンディアンのUTF-16で保存されます。
Unicode big endian BOMありビッグエンディアンのUTF-16で保存されます。
UTF-8 BOMありのUTF-8で保存されます。
BOMとは?
BOMとは、Unicodeで使用するエンコーディングで保存したテキストの先頭につけるデータです。このデータにより、どのエンコーディングが使用されているのか判別することができます。
UTF-16とは?
UTF-16 とは、Unicode で使用するエンコーディングの1つです。

参考となるページ

4. Windows でのファイル検索と文字エンコーディング

Windows 10 のエクスプローラにはファイル検索機能がついています。ファイル名で検索するのが基本的な機能なのですが、インデックスを作成しておけば、ファイルの中身に対して検索することも可能です(全文検索)。ただしテキストファイルを検索する場合は文字エンコーディングに注意が必要です。わたしが把握している範囲で書いておきますと、メモ帳で保存できる文字エンコーディングでないと、全文検索できません。

つまり、以下の文字エンコーディングです。

  1. Shift_JIS(厳密にはCP932)(メモ帳での「ASCII」)
  2. BOMありリトルエンディアンのUTF-16(メモ帳での「Unicode」)
  3. BOMありビッグエンディアンのUTF-16(メモ帳での「Unicode big endian」)
  4. BOMありのUTF-8(メモ帳での「UTF-8」)
画面2.エクスプローラでファイル検索

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. 個人的な意見

理想を言えば、エクスプローラのファイル検索機能に、文字エンコーディングを指定するオプションを追加してくれるとよいと思います。

参考となるページ

📂-ICT

執筆者:labo


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

セキュリティ

パスワードについて

目次1. はじめに2. パスワードに関する基本的なこと気を付けることどのような文字列をパスワードとして使えばよいのか?3. 日々増えていくパスワードをどのように管理すればよいのか?1. パスワード管理 …

ICTリテラシー

Yahoo! JAPAN のアカウントを作る際には余計なサービスに登録しないよう注意しましょう

Yahoo! JAPAN のアカウントを作る際、「Tポイント利用手続き」という画面が挟み込まれていますので、必要ない人や心当たりのない人は登録しないようにしましょう。 「Tポイント利用手続き」というの …

Gmailのタブ操作と日本語キーボード

ブラウザ自体のタブ切り替え操作(左から右に切り替える)には、Ctrl + Tab というキーボードショートカットキーが用意されています。逆順は、Shiftを押しながらこのキーを押します。つまり、Shi …

no image

パソコントラブルが起きたときの対応方法

目次OS が起動しない(BIOSの画面は表示する)BIOS も表示しない普通に使えるっぽいが、なんだか動作がおかしいパソコンに液体をこぼした参考になるサイト OS が起動しない(BIOSの画面は表示す …

KeePass の使い方

パスワード管理ツールである KeePass について説明します。 スポンサードリンク 目次1. KeePass についてKeePassには、2つのエディションがある2. インストール方法3. 準備作業 …