[フロントエンド] XHTMLでUTF-8を使う理由

  • このエントリーをはてなブックマークに追加

なぜXHTMLでUTF-8を使うのか。
仕事で問われたので考えてみた。

1.UTF-8以外でも存分に構わない。

<?xml version="1.0" encoding="utf-8"?>

encodingで「Shift_JIS」や「EUC-JP」を指定すれば特に問題はない。

2.どんな時にUTF-8の縛りを受けるか

文書型宣言の前にXML宣言を記述する事によりIE6で後方互換モードになってしまうというバグを回避する為、止む無くXML宣言を省略した場合。
XMLの定義ではUTF-8、UTF-16のサポートが義務付られており、これらの文字コードの場合はXML宣言を省略しても処理できる。
但し、XML宣言が強く推奨されていることには変わりはない。
形が見え初めて来たIE8がリリースされた頃にはこの呪縛から逃れられるか?

3.UTF-16はどうか?

UTF-16もUTF-8と同様にXML宣言無しでいける。ただし、半角文字の割合が多い文書においては常に1文字あたり2バイト消費するUTF-16ではデータの冗長が発生し、ファイルサイズや処理効率の面でUTF-8に劣る。
多くの場合半角文字が多数を占めるのでUTF-8の利用が適切であると判断する。

間違っていたらツッコミどうぞ。

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。




コメントを残す