A パソコン上では文字を「数値」として割り当てている
そもそも文字コードとは、パソコン上で文字や記号をそのまま取扱うのではなく、それらを「数値」として割り当てています。「文字」を「数値」として割り当てて対応させているのですが、この対応のさせ方の種類があります。
文字コードの種類
日本語を表すために使われている文字コードで、国内において現在多くのパソコン上で使用されている代表的なものです。
Shift_JISは、携帯電話で読めるコードであり、消費バイト数が少ないという事が特徴ですが、エンコードデータに制御文字を含む場合が多いので、これを想定してない環境では文字化けする可能性があります。
日本語サイトで使用されている文字コードは「Shift_JIS」が多い事から、シリウス2や最短ホームページテンプレートの管理画面ではデフォルトでShift_JISに設定されています。
文字の対応範囲が広く、どこの国の言語でも文字化けする事なく表示されます。消費バイト数は多いのですが、PC環境に左右されにくく、安定しているという特徴があります。しかし、ガラケーサイトでUTF-8に設定すると文字化けします。
日本語の文字を扱う場合に利用されている符号化方式の文字コードです。ホームページ作成を考えた場合、EUC-JPという文字コードは考慮する必要はありません。
文字コードについてはどれも一長一短ありますが、日本語サイト作るのであればShift_JISかUTF-8で大丈夫であり、EUC-JPについては特に気にしなくて良い事になります。このように文字コードが複数存在する状況で、文字コードと、ブラウザが解釈した文字コードが異なるときに「文字化け」が、発生します。
まずコンピュータが扱う最小単位は、[ビット]と呼ばれています。
例えば[1ビット]の場合、[2の1乗]で[2]
これは「[2]から、ひとつを選択できる能力」の情報量となります。
[1]か[0]の判断を一回できる。
この上で、[1バイト]とは[8ビット]の事です。二択を8回できる情報量って事です。
なので、2×2×2×2×2×2×2×2=256(二進数で言えば8桁です。)
これをまとめると「1バイトあれば、256の異なる状態を表現できる」って事になります。
(1バイトで256種類の文字)
英語圏では「アルファベットと数字、カンマ等」なので、1バイト256種類の表現ができれば、すべて表示する事が出来ますが、日本語では「漢字、ひらがな、数字、カタカナ」、などがあるため、2バイト(65536文字)が必要となります。
SHIFT-JIS | UTF-8 | |
半角文字 |
1バイト |
1バイト |
全角文字 |
2バイト |
3バイト |
SHIFT-JISのほうが、UTF-8より明らかに容量は小さい(2/3)という事です。UTF-8の場合全角文字は3バイトなので、単純にホームページ1ページの文字数を2,000文字とすると、そのページは6,000バイトって事です。
このバイト数がレンタルサーバーの容量と密接に関係してくるのですが、月額500円程度の有料のレンタルサーバー(100GB)を契約した場合、文字コードの違いによる容量の増加については、考えなくて良いレベルです。
現在ネット上ではスマホとPCからの閲覧が99.9%であり、これからのホームページ作成では、ガラケーに対応させる必要はなくなってくると考えられます。それでShift_JISかUTF-8、どちらを選択したら良いのかという事になります。
多言語のサイトを運営したいのであれば、UTF-8を採用するのが推奨されていますし、一般的な日本語サイトを作成するなら日本語に特化したShift_JISをお勧めします。私はシリウス2でサイト作成する場合Shift_JISに設定しています。
これは当サイトの閲覧者さんからメールでご連絡があり、「サイト内検索」を利用した場合、文字化けしているというご指摘を受けたからです。この文字化けはShift_JISに設定を変更する事で解消されました。
なお、最近のネットブラウザ表示はUTF-8が基準になってきています。余談ですが近年Yahoo!JAPANはサイトリニューアルの際、文字コードをEUC-JPからUTF-8に変更しています。