北上研究所

2023年10月31日 文字コード

Kitakami Yuma Project.のyumaです。

文字コードはご存じでしょうか?
おそらくこんな隠しページを見つけられる方ならご存じかと思いますが、文字コードとはコンピュータで文字を扱うための番号のことです。
コンピュータは数値以外のデータを扱うことができないので1つ1つの文字に数字が割り当てられています。
この番号によってコンピュータは文字を判別しています。

そんな文字コードですが文字コードにも番号のつけ方が異なるなどの種類が存在します。
今最もホームページで使用されているのはUnicodeのUTF-8と呼ばれる方式で書かれてますが、一昔前はShift_JISと呼ばれる文字コードが使われていました。

Unicodeの特徴はUnicodeさえ対応していればどんな言語、どんな環境でも表示可能なグローバルな文字コードです。
ただしグローバルなだけに扱う文字の種類が多く、日本語の場合ファイルサイズが大きくなる傾向があります。

Shift_JISの特徴は日本語を表示するために作られた専用の文字コードです。
最大でも1文字2バイトとUnicodeに比べ全体のファイルサイズを小さくすることが可能ですが、日本語以外の文字を扱うのは難しいです。

とまあそれぞれこんな特徴があるんですが、このホームページはUnicodeのUTF-8で書かれています。
単にUTF-8といったほうがわかりやすいですね。

ここで違和感を持たれた方はきっとKitakami Yuma Project.をよく知っていますね。

Kitakami Yuma Project.では昔からファイルサイズを徹底的に軽量化しようとしてきました。
理由は快適なサイトを提供するため通信にかかるレスポンスを短くすることが目的なんですがここで1つ矛盾が生じます。
徹底的に軽量化してるはずなのに何故Unicodeを使ってるのかと。

答えは単純でHTMLがUTF-8を推奨しているとの情報を見たからです。
少々出典が怪しいですがエディタのデフォルトでUTF-8が指定されている以上わざわざ変更する必要はありません。

それにShift_JISはファイルサイズを小さくできますがそれはあくまで文字同士を比べた時の話。
ホームページでファイルサイズが大きいのは大体画像や動画のデータです。
ただの文字のデータのサイズなんて誤差でしかないので変更してまで軽量化するメリットは少ないです。

今回試しにこのページだけShift_JISにしてみましたがどうでしたか?
実際ファイルサイズが4,143バイトから3,112バイトに減りましたが、現代の回線だと一瞬で通信できます。

実は隠しページの軽量化は普段の表よりも厳しくやっていたので導入も考えてみましたがShift_JISによる弊害のほうが多いのでやめました。