パスワードを忘れた? アカウント作成
169716 journal

Livingdeadの日記: UTF-8のBOMに気づかずハマル 1

日記 by Livingdead

なぜかエディタで開いて空っぽのはずのテキストファイルなのに、サイズが3バイトの物がある。NTFSの副ストリーム?あれってExplorerで表示されるファイルサイズに反映されたっけ?とか見当違いのことを考えたあげく、結局UTF-8のBOMだと判明した。

一部のテキスト処理アプリケーション (エディタなど) では、作成したテキストデータの先頭にBOMを付加する (付加するかどうかを選択できるものもある)。付加する場合は、EF BB BF (16進。U+FEFFのUTF-8での表現) をデータの先頭に付加する。なお、BOMありの方をUTF-8、なしの方をUTF-8Nと呼ぶこともあるが、このような呼び分けは日本以外ではほとんど知られておらず、また公的規格などによる裏付けもない。このため、UTF-8という呼び名を使っていれば情報交換の相手が文書先頭にBOMがあると見なすと期待すべきではないし、いっぽう、UTF-8Nという呼び名は情報交換の際に用いるべきではない。
UTF-8 - Wikipedia

最初からバイナリエディタで開いていれば良かった。

バイナリエディタ Bz ver 1.62 last updated 2004/03/06
c.mos's free software

c.mos氏と言えば、Vzエディタでは大変お世話になりました。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by nozomi (38393) on 2009年11月30日 21時44分 (#1680871) 日記

    私も一時期 BOM をつけてはいけないプログラムに対して BOM つきの UTF-8 文書を読み込ませようとしてはまったことがあります。

    Windows XP/Server 2003 のメモ帳は、 UTF-8 で保存するとこの BOM が付加されます。
    (何も書いてないつもりでも、 3 バイトのファイルになる)

    Internet Explorer 6, 7 で、 BOM および <meta http-equiv="Content-Type" content="text/html; charset=..."> タグがない UTF-8 テキストは Shift_JIS だと誤認します。

    The Unicode Consortium の FAQ [unicode.org] では、「付与することができます。」というスタンスのようです。

    面倒くさいですね。

typodupeerror

弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家

読み込み中...