utf8与utf8+bom的区别
首先创建文件1.txt,2.txt,其次利用vim修改2.txt的编码格式为utf8+bom
'去掉utf-8 BOM
:set nobomb
'保留utf-8 BOM
:set bomb
最后利用vim+xxd显示文本的十六进制表示
在vim的命令状态下,
:%!xxd 将当前的文本转换为16进制。大端法
:%!od 将当前的文本转换为8进制。
:%!xxd -r将当前的文本转换回文本格式。
:%!hexdump将当前的文本转换回16进制,小端法显示。
注:小端法可以理解的内存显示模式(不准确)。大端法可以理解为实际模式。
%表示文件的所有行,!xxd表示外部命令,结合在一起,就是当把当前vim上显示的所有的行传递给xxd,xxd处理后的结果重新显示在vim上。
如下图,2.txt中采用utf8+bom编码,查看它的十六进制发现它是以efbb bf开头的字节流。