utf-8

原创 2007年09月30日 12:20:00
 
在网络中有很多地方都有采用UTF8编码,由于要编写与邮件服务端有关的程序,而邮件服务端有些地方用到了UTF8编码,所以对它有了初步的认识!

它其实和Unicode是同类,就是在编码方式上不同!
首先UTF8编码后的大小是不一定,不像Unicode编码后的大小是一样的!

我们先来看Unicode的编码:一个英文字母 “a” 和 一个汉字 “好”,编码后都是占用的空间大小是一样的,都是两个字节!

而UTF8编码:一个英文字母“a” 和 一个汉字 “好”,编码后占用的空间大小就不样了,前者是一个字节,后者是三个字节!

现在就让我们来看看UTF8编码的原理吧:
  因为一个字母还有一些键盘上的符号加起来只用二进制七位就可以表示出来,而一个字节就是八位,所以UTF8就用一个字节来表式字母和一些键盘上的符号。然而当我们拿到被编码后的一个字节后怎么知道它的组成?它有可能是英文字母的一个字节,也有可能是汉字的三个字节中的一个字节!所以,UTF8是有标志位的!

  当要表示的内容是 7位 的时候就用一个字节:0*******   第一个0为标志位,剩下的空间正好可以表示ASCII 0-127 的内容。

  当要表示的内容在 8 到 11 位的时候就用两个字节:110***** 10******   第一个字节的110和第二个字节的10为标志位。

  当要表示的内容在 12 到 16 位的时候就用三个字节:1110***** 10****** 10******    和上面一样,第一个字节的1110和第二、三个字节的10都是标志位,剩下的空间正好可以表示汉字。

  以此类推:
        四个字节:11110**** 10****** 10****** 10******
  五个字节:111110*** 10****** 10****** 10****** 10****** 
  六个字节:1111110** 10****** 10****** 10****** 10****** 10****** 
  .............................................
       ..............................................

明白了没有?
编码的方法是从低位到高位

现在就让我们来看看实例吧!

 黄色为标志位
其它着色为了显示其,编码后的位置

Unicode十六进制

Unicode二进制

UTF8二进制

UTF8十六进制

UTF8字节数

B

00001011

00001010

B

1

9D

00010011101

11000010 10011101

C2 9D

2

A89E

10101000 10011110

11101010 10100010 10011110

EA A2 9E

3


 

相关文章推荐

ueditor utf-8 繁体中文语言包

  • 2017年11月13日 13:08
  • 51KB
  • 下载

Java对UTF-8格式文件的读取、写入及添加BOM头处理

_(:з」∠)_连我自己都觉得这个标题略长了……         事情的起因是这样的: 数据管理系统可以自动导出编码为UTF-8的csv格式文件,然而,距离在Windows上直接用Ex...

utf-8和GBK编码文件互相转换

  • 2017年11月10日 09:18
  • 44KB
  • 下载

韩都衣舍简洁版单独模板包(utf-8)

  • 2016年03月01日 09:30
  • 1.58MB
  • 下载

解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)

一、Qt环境设置 Qt Creator,菜单->工具->选项->文本编辑器->行为->文件编码: 默认编码:System(简体中文windows系统默认指的是GBK编码,即下拉框选项里的GBK/win...

UTF-8中文字符表

  • 2015年03月25日 21:00
  • 327KB
  • 下载

discuz问答插件 utf-8

  • 2017年03月10日 16:12
  • 1.57MB
  • 下载

字符编码一:Unicode 与 UTF-8之间的关系

一、Unicode编码Unicode 是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案,又称统一码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了...
  • claram
  • claram
  • 2016年11月06日 14:13
  • 4779

UTF-8与string类型互转源代码

  • 2017年09月15日 11:45
  • 660B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:utf-8
举报原因:
原因补充:

(最多只允许输入30个字)