UTF-8 BOM
BOM也是Unicode標準的一部分,有它特定的適用范圍。 通常BOM是用來標示Unicode純文本字節流的,用來提供一種方便的方法讓文本處理程序識別讀入的文本文件是哪個Unicode編碼(UTF-8,UTF-16BE,UTF-16LE)??? ? Windows相對其他系統,對BOM處理比較好,是因為Windows把Unicode識別代碼集成進了API里,主要是CreateFile()。打開文本文件時它會自動識別并剔除BOM。 Windows用這個有歷史原因,因為它最初脫胎于多代碼頁的環境(ANSI環境)。????? 而引入Unicode時Windows的設計者又希望能在用戶不注意的情況下同時兼容Unicode和非Unicode(Multiple byte)文本文件,就只能借助這種小trick了。 ? 似乎也真就Windows堅持用BOM了。。。。 ? 在網頁上使用BOM是個錯誤。BOM設計出來不是用來支持HTML和XML的。要識別文本編碼,HTML有charset屬性,XML有encoding屬性 UTF-8 的網頁代碼不應使用 BOM,否則常常會出錯。 ? Vim 設置帶BOM??? :set bomb 設置不帶BOM?? :set nobomb
轉載于:https://www.cnblogs.com/xiaokuang/p/4618092.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
- 上一篇: python 优秀文章索引
- 下一篇: 【网友的】《一个程序猿的生命周期》读后感