PREV | PAGE-SELECT | NEXT

≫ EDIT

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

| スポンサー広告 | --:-- | comments(-) | trackbacks(-) | TOP↑

≫ EDIT

BOMなしUTF-8

時折、このUTF-8 BOMなし保存にお世話になるのですが、
そうしないといけなかったからしてただけで意味は知りませんでした。
というわけでとりあえず調べて見ました。
調べると、BOMありorなしは文字コードを読み込むシステム側に依存するようです。
BOM(Byte Order Mark)とは本来どういうものなのかは、こちらが分かりやすかったです。
http://d.hatena.ne.jp/ikuo5710/20080804/1217852399
8bitの世界で16bitを扱う場合、上位と下位の半分に分けるらしいですがどっちを先にメモリに格納したか(ビッグエンディアンかリトルエンディアン)を判別するために Byte Order Mark を UTF-16 で使うのですが、
UTF-8でも規格上 BOMを付加して良いらしいです。
そもそもUTF-8 は8bitなので必要ないですが、付加しておけば先頭の3バイトを読むだけで簡単に Unicode であることを判別できるので、システム側でその判別コードを用いている場合があります。
ASCII の文字だけのデータでも Unicode だよと指定できるので、後に編集で他の文字コードが入ってきてもエンコーディングし直さなくて良いので便利らしいです。

ただ、ASCII 文字のみを望んでいるシステムでは逆に BOM が不要な余分なデータとみなされてエラーが発生してしまうので付けるか付けないかは状況によって分かれそうです。
一般的にテキストメモファイルでは BOM が付いているほうが良いので、Windows付属のメモ帳ではUTF-8保存時に BOM が付きます。ただ、BOM なしが選べないのと、拡張子を変更してテキストファイルとして扱わないような場合には使えないので、この仕様に反対する人もちらほら。

あと、BOMありとBOMなしの時の名称に違いはありません。
規格上どちらもUTF-8が正しい表記ですが、非公式にこれを区別するために UTF-8 と UTF-8N と区別されます。あくまで勝手にNをつけて区別しているので間違いではありますが、区別は必要ですよね。
一般的に UTF-8 のみならBOMあり、UTF-8N ならBOMなし。

最後に、BOM有りまたはBOM無し保存する方法ですが、私のパソコンに入っているソフトの中で、メモ帳はBOM有りのみ可、 Crescent Eve はBOMなしのみ可、VxEditor では UTF-8 か UTF-8N どちらか選べます。さすが硬派な凄腕ソフト。

| Soft & Tool | 16:46 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://ashiato1.blog62.fc2.com/tb.php/17-966b3475

TRACKBACK

PREV | PAGE-SELECT | NEXT

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。