fluid_27’s blog

勉強した内容をアウトプットするためのブログ

BOMってなに?

BOMってなに?

 

先日、業務でhtmlファイルを編集する際「BOMつけないようにお願いします」と言われ「BOMってなに?」ってなったので調べてみました。

 

BOMとは、、

バイト順マーク (バイトじゅんマーク、byte order mark) あるいはバイトオーダーマークとは、通称BOM(ボム)といわれるUnicode符号化形式で符号化したテキストの先頭につける数バイトのデータのことである。このデータを元にUnicodeで符号化されていることおよび符号化の種類の判別に使用する。

-wikipediaより引用

バイト順マーク - Wikipedia

 

との事。えーっと、、、結局なに?

 

どのように利用されるのかを調べてみると、

Excelなどでファイルを開く際に

BOM付きでなければ符号化方式がUTF-8なのかUTF-16なのか、またはUTF-32なのか、あるいはまったく別の文字コードなのか判断できないことがあります。

https://uxmilk.jp/48923

とあり、更に

 

一方、Webページとして使用されるHTMLファイルの場合はBOM無しで保存・上書きする方が良いとされています。これはWebページを動的に処理するPHPなどのプログラムがBOM付きのテキストファイルを正常に処理することができないことがあるからです。

https://uxmilk.jp/48923

との事。

 

まとめると

BOMとは、「そのデータの符号化方式の種類が何なのか(UTF-8UTF-16など)を明示的に示すサインのようなもの」というところでしょうか。

 

そんでもって、BOM有り・無しの使い分けとしては

BOMつける場合

 →Excelなどで開くことを想定しているファイルなど

BOMつけない場合

 →htmlファイルなど

という事になりそうです。

 

また、既存ファイルがBOMの付きなのかBOM無しなのかを調べるのは下記サイトで図入りで説明されてますので、参照ください。

https://aprico-media.com/posts/5636