なぜ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の利用が適切であると判断する。
間違っていたらツッコミどうぞ。
コメント