在本身的記憶中,在開始開發前,得對編輯器進行設置。git
tab
或者 空格
2
或者 4
UTF-8
BOM
頭可是一直不知道什麼是 BOM
頭,此次在開發過程當中,硬生生的踩了一個坑。github
小四
:小二
這邊爲何會出錯呢?明明就沒有輸出,也沒有空格,但是確顯示由於代碼以前輸出了某種奇怪的東西。小二
:啊咧咧?這麼驚悚?是否是電腦進貞子了?小四
:ヾ(。`Д´。) 不是吧?怎麼辦,我怕怕!小二
:嘿嘿,騙你的啦。你看看是否是由於 BOM
的緣由?小四
:啊咧咧?什麼是 BOM
?小二
:那讓我來給你解釋解釋吧。shell
字符編碼一直是 代碼世界
經常會遇到的坑。其中,有個坑的名字就叫作 BOM
(Byte Order Mark,字節順序標籤)。微信
BOM
用來標識 Unicode編碼
是使用 UTF-8
仍是 UTF-16
等。它會在文件前添加 三字節
的內容,來標識本身的字符編碼。編輯器
就比如彩色筆,咱們不用看筆上的內容,經過外觀的顏色就能判斷出這根筆是什麼顏色。在解釋文件的時候若是看到,BOM
頭就能肯定這個文件的 Unicode
編碼類型。工具
例如:編碼
# UTF-8 開頭會添加 `0xEF 0xBB 0xBF`
那你們可能會問?那這樣子有什麼錯的嗎?其實,BOM
也是 Unicode
編碼的一部分。在 Window
上對 BOM
處理比較好。可是,在 Unix
上就沒有被實現。(瞭解 shell
的人可能會知道 #!
出如今首行用於表示自動解釋腳本。shell
出於兼容的目的,就沒有對 BOM
做解釋)。spa
基本上只有 Windows
在支持 BOM
了,因此場景也很固定。命令行
BOM
頭。查找含 BOM
頭的文件code
grep -r -I -l $'^\xEF\xBB\xBF' ./
刪除文件中的 BOM
頭
find . -type f -exec sed -i 's/\xEF\xBB\xBF//' {} \;
使用 editplus
Editplus
工具
首選項
文件
UTF-8
標識選擇,老是刪除簽名其實這個場景是出如今咱們產品上線的時候,小夥伴不當心把帶有 BOM
頭的文件給同步到代碼庫中了。因此,在多人協做開發下,要 注意
監控和規範,纔不會在上線的時候出現問題。
在困惑的城市裏總少不了並肩同行的
夥伴
讓咱們一塊兒成長。
點贊
。小星星
。m353839115
。
本文原稿來自 PushMeTop