環境依存文字


■BOMとは

UTF-8にはBOMありとBOMなしの2種類がある。 先頭にutf-8の文字列であることを示すバイト列が入る Windows付属のメモ帳では標準で追加される BOM付き(UTF-8)の場合、先頭に三バイトのBOMを付加してある。 BOMは具体的には0xEF 0xBB 0xBF。 BOM無し(UTF-8N)にはこの三バイトが付きません。  BOMとは、UnicodeのUTF-16など16ビット幅のエンコーディング方式において、  エンディアンを指定するためにファイルの先頭に記入される16ビットの値。  UTF-16などではビット列の並びとしてビッグエンディアンとリトルエンディアンの両方を許容しているため、  誤ったエンディアンで文書を読み込むと判読できなくなってしまう。  このため、ファイルの先頭のBOMを読んで、文書がどちらのエンディアンで作成されたかを判別してから本文を読み込む。  BOMは16進数で「FEFF」という16ビットの値で、誤ったエンディアンで読み込むと、  これが「FFFE」となる。BOMが「FFFE」となった場合には逆のエンディアンを使って読み込めば正しく読み込むことができる。  BOMはエンディアンの判別だけでなく、文書がUnicodeで記述されているかどうかを  判別するために用いられることもある。このため、エンディアンが関係ないUTF-8などの文書でも先頭にBOMがついている場合がある。 BOM付きかBOM無しかはファイルの先頭にBOMデータを付けるか、付けないかが異なるだけで、 ファイルの内容そのものや、文字コード(符号化方式)自体は同じUTF-8であって違いはありません。


機種依存文字とは   外字   機種依存文字と呼ばれる由来   機種依存文字のサンプル   IBMと文字   制御文字   ASCIIコード   unicode   unicodeその他   誤表示   数値参照文字   BOMとは   文字コード表とは   SJIS   EUCJP   NEC特殊文字とは   CP932とは   符号化文字集合とは   メールと文字化け   base64とは   mime形式とは   urlencodeとは   SJISとJISコードの違い   改行とは   空白文字   Base64   ASCII文字←→URLエンコードの対応表   phpでのダブルクォート(シングルクォート) の違い   URLエンコードの気を付けるポイント   デコードの重複の注意ポイント   マルチバイト文字列   htmlエンコーディング   python文字列扱い   php SJIS-WIN   正規表現   正規表現とエスケープ文字   よくつかう正規表現例   メタ文字   波ダッシュ   JWTとは   pythonの文字コード   リモートからsudoを実行   pythonをバージョンを指定して実行   タイムスタンプとは   jsonとは   csvとは   webmとは   円マークとバックスラッシュ問題   ajax cache問題   ajax 非同期・同期通信設定   javaScriptでURLエンコード方法   拡張子一覧