关于Unicode编码

缩写定义

UTF–Unicode Transformation Format ,通用转换格式;

常见的UTF格式有:UTF-7, UTF-7.5, UTF-8,UTF-16, 以及 UTF-32。

BOM–Byte Order Mark,字节序标记;

Unicode

Unicode 可以使用的编码有三种,分别是:

  1. UFT-8:一种变长的编码方案,使用 1~6 个字节来存储;
  2. UFT-32:一种固定长度的编码方案,不管字符编号大小,始终使用 4 个字节来存储;
  3. UTF-16:介于 UTF-8 和 UTF-32 之间,使用 2 个或者 4 个字节来存储,长度既固定又可变。

UTF-8编码规则

如果只有一个字节则其最高二进制位为0;
如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的字节数,其余各字节均以10开头。UTF-8转换表表示如下:

Unicode/UCS-4bit数UTF-8byte数备注
0000 ~007F0~70XXX XXXX1
0080 ~07FF8~11110X XXXX
10XX XXXX
2
0800 ~FFFF12~161110XXXX
10XX XXXX
10XX XXXX
3基本定义范围:0~FFFF
1 0000 ~1F FFFF17~211111 0XXX
10XX XXXX
10XX XXXX
10XX XXXX
4Unicode6.1定义范围:0~10 FFFF
20 0000 ~3FF FFFF22~261111 10XX
10XX XXXX
10XX XXXX
10XX XXXX
10XX XXXX
5说明:此非unicode编码范围,属于UCS-4 编码早期的规范
UTF-8可以到达6字节序列,
可以覆盖到31位元(通用字符集原来的极限)。尽管如此,
2003年11月UTF-8 被 RFC 3629 重新规范,
只能使用原来Unicode定义的区域, U+0000到U+10FFFF。
根据规范,这些字节值将无法出现在合法 UTF-8序列中
400 0000 ~7FFF FFFF27~311111 110X
10XX XXXX
10XX XXXX
10XX XXXX
10XX XXXX
10XX XXXX
6同上

UTF-8 with BOM

UTF-8不需要BOM来表明字节顺序;不含 BOM 的 UTF-8 才是标准形式,在 UTF-8 文件中放置 BOM 主要是微软的习惯
utf-8 with bom比utf-8多了三个字节前缀:0xEF0xBB0xBF
有这三个字节前缀的文本或字符串,程序可以自动判断它为utf-8格式,并按照utf-8格式来解析文本或字符串,否则,一个文本或者字符串在未知编码的情况下,需要按照字符编码规范去一个个验证
一般认为UTF-8 的网页代码不应使用 BOM,否则常常会出错。

一些编辑器设置编码方式

eclipse

项目中右键 选择属性
在项目里右键
然后在文件编码里选择
在这里插入图片描述

sublime text3

文件->作为编码保存->选择你要的编码格式
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值