TOP > プログラマ2.0日報 > BOM は Bomb?

あすなろBlogger

facebookに投稿 このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク このエントリーをはてなブックマークに追加 この記事をクリップ! livedoorclip ユーザー数 BuzzurlにブックマークBuzzurlにブックマーク この記事をtweetする

BOM は Bomb?

2008.11.12

仕事で相手先から送られてきたデータが、

おっと UTF-16 だ!

ということがありました。某ソフトでのデータの吐き出しが、そのままだと UTF-16 だったようで、別にオペレータが意図したことじゃなかったようですが....

UTF-16 だと意外にもてあまします。

  1. 1. テキストフィルターで加工する時、ASCII に「見える」ものも、2byte だということを考慮すべき。
  2. 2. で...BOM はどうしよう?

と、UTF-16 のままだとどうにもこうにも

テキストとしての機動性が悪い....

と、やはり UTF-8 に変換するのが吉のようです。

まあ私は UNIX 育ちですから、

テキストの先頭に「文書じゃない内容(BOM)」が入っている....

というのはハッキリ気持ちが悪いです。テキストはストリームで扱える単なる

無構造のデータ

であって、「テキストの形式」を強制されるべきではない、というのは実は「UNIX哲学」の一部なのです(言い換えるとホントは cat しても BOMがテキストストリームに現れないのが正解、ということかな)。ですから、たとえばこういう時、うっかりしますよ!

  • #! で始まるシェルスクリプトを書いたとき、その前に BOM が入っていて、スクリプトだと理解してもらえなかった!
  • XML の先頭に BOM が入っていて、それを理解しないパーサで解析してコケることがあるそうな....(XMLの先頭にBOMが入ってるのは規格違反ではない
  • ソースファイルの先頭に BOM が入っていて、コンパイラがそれをご親切に文法違反にしてくれるとか(gcc さえ文法違反みたいですね)。

と、意外に問題含みなものだったりします。ふう....まあ「BOM が必要」なコンテキストというのは単に

今が移行期だから

ということであるに過ぎません。とっととこういうものは要らなくなるようになってほしいですね。

投稿者 : 杉浦 こずえ | 投稿日時 : 2008.11.12 17:30

あすなろBLOGのトラックバック・コメントは承認制になっています。
すぐにブログに反映されませんので、ご了承ください。

トラックバックURL


コメントの送信








カレンダー

<< 2008年11月 >>

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

最新のエントリー

最新のトラックバック

最新のコメント

Tag

バックナンバー