UTF-8编码规则。

1.单字节符号

  字节第一位设为0, 后面7位为符号的unicode码(英语字母的UTF-8编码和ASCII码相同).

2.n(>1)字节的符号

  首字节前n位设为1,第n+1位设为0,后面所有字节的前两位设为10,其他二进制位为符号的unicode码.
 
     Unicode符号范围(十六进制)      UTF-8编码方式(二进制,字母x表示可用编码的位)
 ---+-------------------------+---------------------------------------------------------
  1 |  0000 0000 - 0000 007F  |  0xxxxxxx
  2 |  0000 0080 - 0000 07FF  |  110xxxxx 10xxxxxx
  3 |  0000 0800 - 0000 FFFF  |  1110xxxx 10xxxxxx 10xxxxxx
  4 |  0001 0000 - 0010 FFFF  |  11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
  5 |  0020 0000 - 03FF FFFF  |  111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
  6 |  0400 0000 - 7FFF FFFF  |  1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
 ---------------------------------------------------------------------------------------
UTF-8中可以用来表示字符编码的最多有31位。除去每字节开头的控制位,编码位x与UNICODE编码一一对应,位高低顺序也相同。 
UNICODE转换为UTF-8编码时,应先去除高位0,然后根据所剩编码的位数决定所需最小的UTF-8编码位数。 因此基本ASCII字符集中的字符只需要一个字节的UTF-8编码(7个二进制位)便可以表示。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值