编码问题(BOM头简单了解)

浅谈编码问题   

中文编码
  gb2312 (采用两个字节保存字符汉字,英文数字一个字节)
  GBK (采用两个字节保存字符汉字,英文数字一个字节)
  GB18030 (英文数字都是一个字节,中文是两个或四个字节)
  Unicode字符集(包含每个国家的所有字符)国际通用
  unicode编码 使用两个字节—65536个字符,浪费空间
为了节省空间使用转码形式
  utf-8 使用 1 、2、3个字节 (EF BB BF 记事本添加的BOM(Byte Order Mark)头,编码的标记)
  utf-16 使用两个字节—65536个字符 (FF FE 小端(尾) FE FF 大端(尾))
  utf-32 使用4个字节
  台湾 big5
ANSI:在简体中文Windows操作系统中, ANSI 编码代表 GBK 编码

BOM头(记事本特有的)

BOM头: Byte Order Mark
  标识文件的编码,实际大小比数据多3个字节
  直接在记事本编辑数据保存,默认会给你的数据添加上BOM头,使你的文件的大小比实际数据多3个字节(utf-8编码)。但是,当你使用java程序往记事本写入数据的时候,不会添加BOM头
  例如:当你用utf-8的格式编码的时候,用程序去读取文件,虽然显示的数据是文件中保存的数据,但是,可以用EditPlus打开程序编译后的.class文件,并且转化为16进制展示,你就会发现,在前面的3个字节会是 :EF BB BF 这三个字节告诉记事本,这是一个用utf-8编码的文件。

  utf-8 EF BB BF
  utf-16(Unicode) FF FE 编码的时候,小的在后面(FE在后面) 小端 little endian
  utf-16(Unicode big endian) FE FF 编码的时候,大的在后面(FF在后面) 大端 little endian

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值