浅谈Unicode和Utf-8编码

        在单片机IOT产品开发当中,会遇到从服务器中获取数据,但是编码是UTF-8编码,而单片机无法直接处理此编码,所以需要用到编码转换。那么就得先了解编码规则:

常见编码介绍

  • ASCII码: 最早的编码集,0-127个,一个字节存储,分可见字符和控制字符,0~31、127表示控制字符,其它为可见字符可见字符包括符号、数字、大小写英文字母。
  • GB2312:1981年5月1日发布的简体中文汉字编码国家标准。GB2312对汉字采用双字节编码,收录7445个图形字符,其中包括6763个汉字。中国常用汉字有3000多个,所以单字节表示不够,则扩展至2个字节来表示汉字。但是ASCII已经占有了0-127,所以GB2312占用的两个字节的范围为[129-255][129-255].大约有1万多种组合,来表示常用汉字,如[D6 D0] 假如代表 “中”,在串口调试工具中你会发现,当其发现第一个字节大于127时,它则会去索取第二个自己来进行组合完成一个汉字的显示。
  • BIG5编码:台湾地区繁体中文标准字符集,采用双字节编码,共收录13053个中文字,1984年实施。
  • GBK编码:1995年12月发布的汉字编码国家标准,是对GB2312编码的扩充,对汉字采用双字节编码。GBK字符集共收录21003个汉字,包含国家标准GB13000-1中的全部中日韩汉字,和BIG5编码中的所有汉字。完全兼容GB2312,只是比GB2312的容量大了,也就是说可以编码更多的字符。GBK编码和GB2312中不一致的是,GBK占用的范围为[129-255][0-255],也就是第二个字节不限制于需要大于127了。
  • ANSI:本地字符集。  中国 ->GBK 两个字节 [D6 D0] 假如代表 “中”,在日本呢?日本采用jis编码。
  • GB18030编码:2000年3月17日发布的汉字编码国家标准,是对GBK编码的扩充,覆盖中文、日文、朝鲜语和中国少数民族文字,其中收录27484个汉字。GB18030字符集采用单字节、双字节和四字节三种方式对字符编码。兼容GBK和GB2312字符集。
  • Unicode编码:Unicode(又称统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode采用4个字节编码, 需要注意的是,Unicode只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储。

UTF8/UTF-8(unicode transformation format)

        互联网的普及, 强烈要求出现一种统一的编码方式. UTF-8就是在互联网上使用最广的一种unicode的实现方式. 其他实现方式还包括UTF-16和UTF-32, 不过在互联网上基本不用.重复一遍, 这里的关系是, UTF-8是Unicode的实现方式之一。

UTF-8最大的一个特点, 就是它是一种变长的编码方式. 它可以使用1~6个字节表示一个符号, 根据不同的符号而变化字节长度。

UTF-8是不定长编码,是unicode简化传输而来,这种简化,就像原文件和压缩文件的关系。

unicode的字符和utf-8可以相互转换。

UTF-8编码规则如下:

utf8是一个变长:1-6个字节变长!那么如何确定字符的边界,即计算机去几个字节,才能知道这个字符正确的取出来了?

         我们仔细观察上表:

         当最高位字节有一个0时(0xxxxxxx)取一个字节,110(110xxxxx 10xxxxxx)取两个字节,1110取三个字节,11110取四个字节,111110取五个字节,1111110x取六个字节。

           在Unicode中,汉字的编码区域位于0X0800~0XFFFF,所以汉字的UTF-8编码都是3字节编码。

其他资料链接:

编码转换工具:http://www.mytju.com/classCode/tools/encode_utf8.asp

编码介绍:       https://www.cnblogs.com/gavin-num1/p/5170247.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值