[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

BOM

pointこの用語のポイント

pointUnicodeで書かれてるよ~の目印だよ

pointテキストファイルの先頭に付くよ

スポンサーリンク

簡単に書くよ

BOMとは

Unicodeで書かれたテキストファイルの先頭に付ける目印データのこと
です。

image piyo

詳しく書くよ

Unicodeは「UTF-8とかUTF-16とか」ね。

……すいません。
豪快にウソを書きました。
ちゃんとした意味が知りたい人は用語「Unicode」の説明を、ご覧ください。
きちんと理解しようとすると結構大変なので、オススメはしませんけどね。

「Unicode」とか「UTF-8」とか何のことかさっぱり分からない方は、ファイルに書く内容が何語で書かれているかだと思ってください。
「『UTF-8』で書かれたファイル」「『Shift-JIS』で書かれたファイル」などと言ったら「『英語』で書かれたファイル」「『日本語』で書かれたファイル」と言っているのと似たようなイメージです。

つまり、あるところにUnicode語で書かれたテキストファイルがあったとして、その中身の一番最初にくっついている目印が「BOM(ボム)」です。

BOM

BOMはUnicodeだったら必ずくっつくわけではありません。
BOMがくっついていないUnicodeなデータも普通にありますのでご注意ください。
※BOMをくっつけるか否かの判断はケース・バイ・ケースなのでここでの説明は省略しますね。

「じゃあ、なんで、わざわざそんなものくっつけるのよ?」と疑問に感じる方もいるかと思いますが……聞いちゃいます?
BOMを何でくっつけるのか聞いちゃいますか?

まず一つは「このファイルはUnicodeだぜ!」と熱く主張するためです。
英語や日本語があるように、Unicode以外にも「Shift-JIS」とか「EUC-JP」とか似たようなポジションの奴等がいっぱいいます。
そいつらに負けないように「俺はShift-JISでもEUC-JPでもなくUnicodeだからね!」と主張しているマークなのです。

もう一つは「エンディアンはこれだから」という情報が格納されています。

……(--)

さらっと書いた「エンディアン」ってなんだよ?と思いますよね。
エンディアンは一言で言ってしまえば「マルチバイトなデータの並び順」なのですが……そうですね。

例えば「あ~、腹減ったな~。何か食べたいな~」と書くとき「主語→述語」の順で

腹が、減った。ご飯が、食べたい。

と書いても伝わりますし「述語→主語」の順で

減ったよ、腹が。食べたいよ、ご飯が。

と書いても分かりますよね。

同じようにUnicodeで2バイトのデータを書くときは「1バイト目→2バイト目」の順で書くやり方と「2バイト目→1バイト目」の順で書くやり方があるのです。
このやり方「どの順番でデータ書いてるの?」を示す情報がBOMに入っているのです。

そんな感じ(--)ノ

image piyo2

一言でまとめるよ

まぁ「BOM」って単語が出てきたら「Unicodeのファイルに付く目印なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク