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

BOMなし

pointこの用語のポイント

pointBOMが くっついていないよ

スポンサーリンク

簡単に書くよ

BOMなし(読:ボムナシ)とは

Unicodeで書かれたテキストファイル(中身が文字だけのファイル)の先頭に付ける「このファイルはUnicodeで書かれていますよ~」を示す目印データを「BOM」と言うのですけどね。そのBOMが くっついていませんよ!のこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

テキストデータ
テキストファイル
Unicode
BOM(ボム)


について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

テキストデータは「なんの装飾もされていない文字だけのデータ」です。
人間様が読んで全貌を解明できるようになっています。
メモ帳ソフトで開いて中身が分かるデータ」と解釈しても かまいません。

BOMなし

テキストファイルは「中身がテキストデータなファイル」です。

BOMなし2

Unicodeは「UTF-8とかUTF-16とか」です。

……すみません。
豪快にウソを書きました。

BOMなし3

「Unicodeが何か?」を説明しようとすると、その前に予備知識を いっぱい説明する必要があります。
そのため、このページで全部 説明するのは諦めます。
ちゃんとした意味が知りたい人は、用語「Unicode」の説明を ご覧ください。

BOMなし4

雰囲気を感じ取れれば満足な人は(ちょっと間違った説明ですが)ファイルが何語で書かれているかだと思ってください。

(本当は違いますが)英語で書かれたファイル」や「日本語で書かれたファイル」と似たようなイメージです。
UTF-8で書かれたファイル」や「Shift_JISで書かれたファイル」などと出てきたら「『UTF-8』語で書かれたファイル」や「『Shift_JIS』語で書かれたファイル」と読み替えてください。
それで何となくのイメージは つかめるはずです。

BOMなし5

BOMは「Unicode語で書かれたテキストファイルの中身の最初にくっついている『これはUnicodeだからね!』を示す目印」です。

BOMなし6

注意点として、Unicodeのファイルなら必ずBOMがくっつくわけでは ありません。
BOMがくっついていないやつも普通にあります。
BOMをくっつけるか否かの判断はケース・バイ・ケースです。
本題とズレるので、ここで説明するのは止めておきますね。

「それじゃあ、なんで わざわざ そんなものをくっつけるの?」と疑問に感じる方もいるかもしれませんね。

……聞いちゃいます?
BOMをくっつける理由を聞いちゃいますか?

1つは

「このファイルはUnicodeだぜ!」と熱く主張するため

です。
英語や日本語があるように、Unicode以外にも「Shift_JISShift-JISSJIS」とか「EUC-JP」とか似たようなポジションの奴らが いっぱい います。
そいつらに負けないように「俺はShift_JISでもEUC-JPでもなくUnicodeだからね!」と主張しているマークなのです。

もう1つは

エンディアンバイトオーダは、これだから」という情報を示すため

です。
BOMの中でエンディアンが指定されています。

……さらっと書いた「エンディアン」ってなんだよ?と思いますよね。
エンディアンは、サクっと説明すると「マルチバイトなデータの並び順」です。
バイトオーダはエンディアンの別の呼び名です。

例えば、そうですね。
「あ~、腹減ったな~。何か食べたいな~」と書くとしましょう。

このとき「主語→述語」の順で

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

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

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

と書いても伝わりますよね。

同じように、Unicodeで2バイトのデータを書くときは

1バイト目→2バイト目

の順番で書くやり方(最初から書くやり方:ビッグエンディアン

2バイト目→1バイト目

の順番で書くやり方(最後から書くやり方:リトルエンディアンがあるのです。

BOMなし7

ここで、ファイルの中身を読み取る方の気持ちになって考えてみてください。
「最初から書くやり方」で書かれているのか「最後から書くやり方」で書かれているのか分からないと困りますよね。
どっちから読めば良いのか判断できません。

そこでBOMの中に「どっちから読んでね!」を示す情報を入れておくのです。

以上を踏まえて

「BOMが付いていませんよ!」を意図する表現

が「BOMなし」です。

BOMなし8

上でも書きましたが、BOMは付いている場合と付いていない場合があります。
BOMが付いていない(付けない)場合に「BOMなし」と言ったりします。


image piyo2

一言でまとめるよ

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

一番上に戻るよ
スポンサーリンク
書籍画像007
書籍画像043

おまけ

■訳してみるよ

「BOM(ボム)」は「Byte Order Mark(バイト・オーダ・マーク)」の略です。
「byte(バイト)」はIT用語の「バイト」です。
「order(オーダー)」の意味は「注文」とか「順序」とか「指令」とか「整列」とかです。
「mark(マーク)」の意味は「印」とかです。
「なし」は日本語ですね。
何となく くっつけると

「バイトの順序の印」なし

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
優れたエンジニアがコミュニティの中でしていること
7日間でハッキングをはじめる本 TryHackMeを使って身体で覚える攻撃手法と脆弱性
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】