不废话,直接上结论
\UFEFF是一个Unicode字符,它的UTF-8编码就是EF BB BF。
编码过程
-
FEFF的二进制为11111110 11111111,根据UTF-8的编码规则,应当用三个字节来存放。 - 三个字节的
UTF-8形如1110xxxx 10xxxxxx 10xxxxxx。 - 把这16个
x换成FEFF的二进制,就得到11101111 10111011 10111111,转成十六进制就是EF BB BF。
补充说明
\UFEFF起初被定义为字节顺序标记(Byte Order Mark),简称BOM。通常放在以UTF-8为编码格式的文本文件头部的位置。后来为了考虑到不应该把用于“控制”的字符放到文件的内容中(这会导致一些程序的误判),故又把\UFEFF定义为零宽无换行的空格,零宽无换行的空格就是字面意思,指的是一个没有宽度,不会导致换行,并且打印出来也看不见的字符。