utf8与utf8+bom的区别

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开头的字节流。

utf8与utf8+bom的区别_第1张图片

你可能感兴趣的:(utf8)