補足 - コンピュータ
文字コード
テキストファイル
ファイルの中に文字だけのデータが収められたファイル。
注:ワープロのファイル(例:Microsoft Wordの.docファイル)のことをテキストファイルとはいわない。ワープロのファイルには、文字以外に、フォント、フォントサイズ、レイアウト(用紙サイズ、余白、行間…)などなどの情報が収められている。
テキストファイルとは、文字コードのみが収められているファイルのことである。
文字コード
コンピュータはデータを0か1かで表現できるような状態として扱うが、文字も同様である。例えば、以下のように0と1の組み合せを文字に割り振れば、0と1で文字を表現することが可能となる。
A 1000001
B 1000010
あ 1000001010100000
い 1000001010100010
文字に対応付けられた0と1の並び(組み合せ)を文字コードという。
文字コードとは、文字に付けられた背番号のようなものである。
代表的な文字コード系
ASCII(アスキー)
American Standard Code for Information Interchange
英語などで使用される文字を中心とした文字コード。
ASCII文字コード表:http://e-words.jp/p/r-ascii.html
Shift_JIS
WindowsやMacintoshで標準的に作成するテキストに利用されてきた日本語の文字コード系。
euc-jp
UNIX系の日本語OSで標準的に利用されてきた日本語の文字コード系。
ISO-2022-JP
eメールなどで利用される日本語の文字コード系。
UNICODE
世界各国の言語を1つの文字コード系で利用するために制定が進められおり、UTF-8やUTF-16などの種類がある。WindowやMacintoshではOSの内部コードとして利用されている。
Webページ(HTMLファイル)の文字コードはUTF-8が推奨される。
文字化け
文字コードが異なる
日本語の文字を扱うための文字コード系にはOSなどの違いにより複数が用いられているため、文字コード系が違うと同じ文字でも文字コードは異なる。
例えば以下は、Shift_JISとeuc-jpのひらがなの「あ」と「い」の文字コードである。
Shift_JIS | euc-jp | |
---|---|---|
あ | 1000001010100000 | 1010010010100010 |
い | 1000001010100010 | 1010010010100100 |
なお、コンピュータでのデータを表す時、0と1(2進数)では分かりづらいので、代わりに16進数が用いられることが多い。
Shift_JIS | euc-jp | |
---|---|---|
あ | 0x82A0 | 0xA4A2 |
い | 0x82A2 | 0xA4A4 |
同じコードが違う文字コード系では違う文字を示し、文字が上手く表示されないことがある。それがいわゆる文字コード系の違いによる文字化けである。
ただし日本語のいずれの文字コード系も(おおむね)ASCII文字(半角英数字)の部分は文字コードが同じである。つまり、ファイル名などは半角英数字にしておけば、文字コードの違いによる文字化けの影響などはない。インターネット上で交換するテキストファイル(HTMLファイルとか、eメールの添付ファイルとか)には、半角英数字をつけておくのが無難である。
機種依存文字
例えばWindowsもMacintoshなど、機種やOSそれぞれに独自に拡張した文字があり、OSが異なれば上手く表示されない可能性がある文字がある。そのような文字を機種依存文字という。
具体的に問題となるのは、○付数字、全角のローマ数字、全角の単位文字や囲み文字などである。
Webページやeメールでは使用しないことがマナーとされる。
改行コードの違い
テキストファイルにおける標準的な改行の取り扱いに複数ある。
改行にはCRという文字(文字コード0x0d)とLFという文字(文字コード0x0a)の二種が良く使われるが、その組み合わせかたに複数あるということである。
CR + LF:CRとLFの2文字で改行を表現する。
CR:CRの1文字で改行を表現する。
LF:LFの1文字で改行を表現する。
したがって、例えばCR+LFのテキストファイルをCRとして開くと、行頭に(CRの後に)不要な1文字が入ることがある。逆にCRのテキストファイルをCR+LFとして開くと(改行に必要な文字が1文字足りないので)、改行が全て取れてしまうこともある。
Web含め、ネットワーク上など異なるOS間でテキストファイルのやり取りをする場合には、複数の改行コードに対応したテキストエディタの利用が望ましい。
テキストエディタ
テキストファイルを編集するソフトウェア。様々な種類があり、フリーウェア、シェアウェアが多いので、各人の用途目的に併せて導入すると良い。
HTMLやCSSを書く場合には、複数の文字コードと改行コードに対応しているテキストエディタを選ぶ。
さらには、タグなどを色分け表示してくれたり、自分なりにタグの挿入などをカスタマイズできるものが良い。
なお、テキストエディタと併用して、HTMLの文法をチェックしてくれるソフトウェアを利用すると、間違える可能性が減る。ただし、きちんとした文法のチェック機能を備えているかどうかは確認が必要(もしくは、複数のチェッカーを比較してみる)。
文字コードに関する言葉の補足
文字集合、文字セット(charactor set)
文字の集まりのこと。「常用漢字」などであるが、利用できる文字の範囲を定めたもの。
文字に背番号を振るためには、あらかじめ利用する文字の範囲を決めておかなければならない(無限個の文字に背番号は振れない)。
コンピュータなどで利用できる文字集合はJIS(日本工業規格)によって定められており、JIS X 0208やJIS X 0213などの企画がある。
符号(code)
あるものを表現するため、それらを数字などに対応づけたもの。
文字コード(character code)
文字を表現するため、文字に0と1の並びを対応づけたもの。
符号化(encoding)/復号化(decoding)
規則に従いあるもの符号に置き換えることを符号化(encoding)、逆に符号を元に戻すことを復号化(decoding)という。
文字コード系(character code system)、エンコードスキーム(endcoing scheme)
文字集合と文字コードの対応関係を規定する方式。Shift_JISやeuc-jpなどの種類がある。