前言
写程序一般都建议使用utf-8格式,因为它是全球统一的编码格式。但是,它还有带BOM和不带BOM的区分。
什么是BOM
摘抄:https://my.oschina.net/JKOPERA/blog/309423
BOM: Byte Order Mark
UTF-8 BOM又叫UTF-8 签名,其实UTF-8 的BOM对UFT-8没有作用,是为了支持UTF-16,UTF-32才加上的。utf-8+bom比utf-8多了三个字节前缀:0xEF 0xBB 0xBF
带BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器识别,但是BOM虽然在编辑器中不显示,但是会产生输出,就像多了一个空行。
其他的程序都能打开utf-8格式的中文,但understand只能打开带BOM的utf-8格式。
列出几个软件对utf-8 中BOM的支持情况:
|-----------------+----------------+----------------|
| Type | NoBOM | BOM |
|-----------------+----------------+----------------|
| keil |
| understand X |
| sublime txt |
| source insight |
|-----------------+----------------+----------------|