在本身的记忆中,在开始开发前,得对编辑器进行设置。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