- 删除 BOM,在 vi 下面执行命令
:set nobomb
- BOM 解释
所谓 BOM,全称是 Byte Order Mark,它是一个 Unicode 字符,通常出现在文本的开头,用来标识字节序(Big/Little Endian),除此以外还可以标识编码(UTF-8/16/32)
对于 UTF-8/16/32 而言,它们名字中的 8/16/32 指的是编码单位是多少位的,也就是说,它们的编码单位分别是 8/16/32 位,换算成字节就是 1/2/4 字节,如果是多字节,就要牵扯到字节序,UTF-8 以单字节为编码单位,所以不存在字节序。UTF-8 主要的优点是可以兼容 ASCII,但如果使用 BOM 的话,这个好处就荡然无存了,除此以外,BOM 的存在还可能引发一些问题。所以要 UTF-8 编码中 BOM 的检测与删除。
原文链接:
网友评论