UTF-8是Unicode的实现方式之一。

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

UTF-8的编码规则很简单,只有二条:

1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英语字母,UTF-8编码和ASCII码是相同的。

2)对于n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。

下表总结了编码规则,字母x表示可用编码的位。

Unicode符号范围          | UTF-8编码方式
(十六进制)               | (二进制)
--------------------+---------------------------------------------
0000 0000-0000 007F | 0xxxxxxx
0000 0080-0000 07FF | 110xxxxx 10xxxxxx
0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx
0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

最新文章

  1. js中获取css的样式
  2. JAVA设计模式——单例模式
  3. HTML5 canvas 绘图步骤
  4. VS2010无法打开CSS问题
  5. 【技术贴】xp下改变7zip默认关联图标和美化教程
  6. HDU5137 How Many Maos Does the Guanxi Worth(枚举+dijkstra)
  7. 【java多线程系列】java中的volatile的内存语义
  8. 玩转web之ligerui(二)---前缀编码生成树(分级码)实现树型表格
  9. 国内阿里maven仓库镜像maven配置文件maven仓库速度快
  10. 前端页面展示MySQL数据并实现前后端互动
  11. git免密配置
  12. bzoj4445 小凸想跑步
  13. centos下网口vlan设置
  14. 使用 AngularJS & NodeJS 实现基于 token 的认证应用
  15. python第二十九课——文件读写(readline()和readlines()的使用)
  16. Luogu P1549 棋盘问题(2)
  17. redis-手写redis切片和非切片连接池并注入springboot中
  18. GIS-ArcGIS JS API FeatureLayer图层绑定事件的几种方式
  19. 多线程---handlerthread
  20. Python-常用模块2

热门文章

  1. Unity3d 复制文字到剪切板及存储图像到相册
  2. 【转载】HDFS 上传文件不均衡和Balancer太慢的问题
  3. Debian9 配置之旅
  4. GCC编译选项 -OX[转]
  5. JavaScript基础知识(JSON、Function对象、原型、引用类型)
  6. 关于java解析xml文件出现的问题
  7. C陷阱:求数组长度
  8. 【转】.NET IL实现对象深拷贝
  9. BZOJ 1083: [SCOI2005]繁忙的都市【Kruscal最小生成树裸题】
  10. BZOJ1258: [CQOI2007]三角形tri