VS中无签名UTF8和带签名UTF8格式
来源:互联网 发布:关于吃的网络用语 编辑:程序博客网 时间:2024/06/11 13:39
在VS中,使用高级保存选项功能的时候,我们将会发现UTF8有两种格式,一个是带签名的UTF8(BOM),一个是无签名的UTF8。
那么这两种的格式有什么区别呢?
带签名的UTF8:
带签名的UTF8,是在生成的文件中,在文件的开头使用UTF8标志,这样在下次使用编辑器编辑的时候,编辑器能准确的识别当前文件的编码格式,并做正确的解码。
无签名的UTF8:
相反,无签名的UTF8是在保存的时候,不再文件头部写入文件的编码格式。
那么文件编码需要消耗多少空间呢? —— 答案是3个字节。(utf8标志是 EF BB BF )
因此,在一般使用过程中,我们建议使用带签名的UTF8格式来保存文件。
所有文件都这样保存后,中文注释乱码的问题都解决了。
BOM(BYTE ORDER MARK)只是文件的一个可选项,有很多软件并未提供对BOM的支持,因此此类软件如果打开含有BOM数据的文件时,会将此数据作为数据内容本身进行处理。如果在程序中,可能会作为程序内容来解析,这样有些程序在迁移的时候就会出现问题。在涉及到程序多处多平台迁移的时候,一般建议慎重考虑是否启用带签名的UTF8 格式。那么如何确定自己的文件UTF-8格式是带BOM的呢?
最简单的方法就是用二进制查看文件,看文件起始是否是EF BB BF;其次,也可以用DW看看是否是包含签名BOM的。
如果你不想使用带签名BOM格式的UTF8文件格式保存文件,你可以将文件在二进制下用可见字符替换掉起始的三个字节,而后在普通的文本编辑中删除该可见字符即可。 winhex编辑器可以做这个事情。
0 0
- VS中无签名UTF8和带签名UTF8格式
- VS中无签名UTF8和带签名UTF8格式
- 生成不带签名(BOM)的UTF8格式的XML
- UTF-8带签名和无签名的区别
- VS 中Unicode(UTF-8 带签名) -代码页 65001
- VS UTF-8 的带签名与不带签名
- vs中cpp文件编码格式为utf8,注释有汉字,编译不通过的问题
- Delphi中处理UTF8格式的文本
- java中GBK编码格式转成UTF8
- java中GBK编码格式转成UTF8
- 【编码格式】GBK和UTF8 的区别
- GB2312和UTF8格式转换工具
- UTF8
- utf8
- utf8
- UTF8
- UTF8
- utf8
- Java中如何区别抽象类和接口
- 线程同步工具之CountDownLatch
- String的compareTo()方法
- tableViewCell 的重用机制下 (内容重叠)问题解决
- iframe自适应高度和宽度
- VS中无签名UTF8和带签名UTF8格式
- android使用mediaPlayer显示视频时,抛出java.lang.IllegalStateException异常
- Des前台加密、后台解密Demo
- 在程序中加入声音
- ORA-01720: grant option does not exist for 'xxx.xxxx' (ORA-01720 ‘XXX’ 不存在授权选项)
- 数据结构课程设计-学生信息管理
- linux系统中查找命令grep命令详解
- HTTP POST GET SOAP本质区别详解
- 懒加载,属性和成员变量,局部变量的据别联系