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

バイト順マーク

pointこの用語のポイント

pointBOMのことだよ

point「Unicodeで書かれているよ~」な目印だよ

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

point付いていない場合もあるよ

pointデータの並び順(エンディアン)が書いてあるよ

スポンサーリンク

簡単に書くよ

バイト順マーク(読:バイトジュンマーク 英:byte order mark)とは

「BOM(Byte Order Mark)」のこと。
用語の中身としては

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


image piyo

詳しく書くよ

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

テキストデータ
テキストファイル
Unicode
BOM(Byte Order Mark:バイトオーダーマーク)


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

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

バイト順マーク

テキストファイルは「中身が文字だけのファイル」です。
中身がテキストデータなファイルですね。

バイト順マーク2

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

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

バイト順マーク3

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

バイト順マーク4

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

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

バイト順マーク5

BOM(Byte Order Mark:バイトオーダーマーク)は「Unicode語で書かれたテキストファイルの中身の最初にくっついている『これはUnicodeだからね!』を示す目印」です。

バイト順マーク6

Byte Order Mark(バイト・オーダ・マーク)」の略で「BOM(ボム)」ね。

バイト順マーク7

※「Byte Order Mark」を何となく日本語にすると「バイトの順序の印」となります。[詳細]

注意点として、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バイト目

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

バイト順マーク8

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

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

以上を踏まえて

「BOM(Byte Order Mark:バイトオーダーマーク)」を日本語で言ってみました!な表現

が「バイト順マーク」です。

バイト順マーク9

上でも書きましたが「BOM」は「Byte Order Mark(バイト・オーダ・マーク)」の略です。

バイト順マーク10

「order(オーダ)」の意味は「注文」とか「順序」とか「指令」とか「整列」とかです。
「order」の部分を「順序」の「順」と訳して「バイト・順・マーク」としたのでしょう。


image piyo2

一言でまとめるよ

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

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

おまけ

■訳してみるよ

「byte(バイト)」はIT用語の「バイト」です。
「順」は日本語ですね。
「mark(マーク)」の意味は「印」とかです。
何となく くっつけると

バイト順の印

となります。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
つくって、壊して、直して学ぶ Git&GitHub 入門
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
クイズで学ぶUIデザイン ユーザビリティの基本が身につく50問