VS_UTF8带不带签名有什么区别?

内容摘自以下大佬的博客
阿里云
Jim
xxinggup
雪秀


带签名也就是带 BOM 信息,不带签名就是不带 BOM。
BOM, Byte Order Mark,也即字节流标记,它是用来让应用程序识别所用的编码的。UTF8 的 BOM 是0xEFBBBF。


带签名的UTF8:
带签名的UTF8,是在生成的文件中,在文件的开头使用UTF8标志,这样在下次使用编辑器编辑的时候,编辑器能准确的识别当前文件的编码格式,并做正确的解码。
无签名的UTF8:
相反,无签名的UTF8是在保存的时候,不再文件头部写入文件的编码格式。
那么文件编码需要消耗多少空间呢。 —— 是3个字节。


BOM(BYTE ORDER MARK)只是文件的一个可选项,有很多软件并未提供对BOM的支持,因此此类软件如果打开含有BOM数据的文件时,会将此数据作为数据内容本身进行处理。如果在程序中,可能会作为程序内容来解析,这样有些程序在迁移的时候就会出现问题。在涉及到程序多处多平台迁移的时候,一般建议慎重考虑是否启用带签名的UTF8 格式


那么如何确定自己的文件UTF-8格式是带BOM的呢?
最简单的方法就是用二进制查看文件,看文件起始是否是EF BB BF;其次,也可以用DW看看是否是包含签名BOM的。
如果你不想使用带签名BOM格式的UTF8文件格式保存文件,你可以将文件在二进制下用可见字符替换掉起始的三个字节,而后在普通的文本编辑中删除该可见字符即可。推荐的软件 EditPlus,sublime即可实现相应的操作


中文版的默认编码格式是gb2312,英文版的是UTF8。如果要想保存成其他的编码格式,可以在“文件”-〉“高级保存选项”中更改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值