UTF-8 编码字符理论上可以最多到 6个字节长,但目前全世界的所有文字和符号种类加起来也只要编到 4个字节长就够了。UTF-8 是以 8位(即 1个字节)为单元对原始码进行编码(注意一 点:这里所讲的原始码都是指Unicode码),并规定:多字节码(2个字 节以上才称为多字节)以转换后第1个字节起头的连续“1”的数目(这 些连续“1”称为标记位),表示转换成几个字节:“110”连续两个 “1”,表示转换结果为2个字节,“1110”表示3个字节,而“11110” 则表示4个字节……跟随在标记位之后的“0”,其作用是分隔标记位和 字符码位。第2~第4个字节的起头两个位固定设置为“10”,也作为标 记,剩下的6个位才做为字符码位使用。
   这样,2字节UTF-8码剩下11个字符码位,可用以转换0080~07FF的 原始字符码,3字节剩下16个字符码位,可用以转换0800~FFFF的原始字 符码,由此类推。编码方式的模板如下:

原始码(16进制) UTF-8编码(二进制)
 --------------------------------------------
 0000 - 007F 0xxxxxxx
 0080 - 07FF 110xxxxx 10xxxxxx
 0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx
 ……
 --------------------------------------------

  模板中的“x”表示字符码。Ascii码<007F,编为1个 字节的UTF-8码。汉字的 Unicode编码范围为0800-FFFF,所以被编为 3个字节的UTF-8码。

  例如“汉”字的Unicode编码是6C49,6C49在0800-FFFF之间,所以 要用3个字节的模板:1110wwww 10xxxxyy 10yyzzzz。

6 C 4 9
 0110 1100 0100 1001
 wwww xxxx yyyy zzzz
 wwww xxxxyy yyzzzz
 1110wwww 10xxxxyy 10yyzzzz。
 11100110 10110001 10001001

E 6 B 1 8 9

“汉”字的UTF-8编码是E6 B1 89

utf8编码-汉字几字节相关推荐

  1. 【转】刨根究底字符编码之十一——UTF-8编码方式与字节序标记BOM

    一.UTF-8编码方式 1. 接下来将分别介绍Unicode字符集的三种编码方式:UTF-8.UTF-16.UTF-32.这里先介绍应用最为广泛的UTF-8. 为满足基于ASCII.面向字节的字符处理 ...

  2. python编码转换在线_在线UTF-8编码汉字互转 | utf8编码转换器

    一.UTF-8是什么? UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码.由Ken Thompson于1992 ...

  3. Utf-8编码汉字占多少个字节

    占2个字节的:带有附加符号的拉丁文.希腊文.西里尔字母.亚美尼亚语.希伯来文.阿拉伯文.叙利亚文及它拿字母则需要二个字节编码 占3个字节的:基本等同于GBK,含21000多个汉字 占4个字节的:中日韩 ...

  4. 【UTF-8编码透析】神奇的“联通”乱码现象

    小伙伴们大家好,我是低调儒雅的Steven老师,作为开发人员,或许听说过"神奇的联通乱码现象".没有听说也没有关系,那什么是"联通乱码现象"?到底是什么原因造成 ...

  5. 探测输入字符串是否为UTF8编码

    #include <windows.h> #include <crtdbg.h>/* UTF-8 编码规则 1字节 0BBBBBBB 2字节 110BBBBB 10BBBBBB ...

  6. Unicode编码详解(三):UTF-8编码

    Unicode编码详解(三):UTF-8编码 本文为原创文章,转载请注明出处,或注明转载自"黄邦勇帅(原名:黄勇) 本文是对<C++语法详解>一书相关章节的增补,以增强读者对字符 ...

  7. UTF-8 编码里,一个汉字占用多少个字节 -转

    在查找 UTF-8 编码资料时发现,很多的帖子说的 UTF-8 编码里,一个汉字占用3个字节,有的还做了个证明,大概是这样的,创建一个没有BOM的UTF-8编码的文本文件,里面保存了几个汉字,然后查看 ...

  8. UTF-8编码方式汉字和英文各占据的字节数

    UTF-8编码方式汉字和英文各占据的字节数 UTF-8编码下一个汉字(包括中文形式下的符号)一般是3个字节,一个英文(包括英文下的符号)1个字节,一个数字1个字节: 在GBK和GB2312编码下一个汉 ...

  9. oracle一个汉字三个字节,1个汉字在UTF-8编码占3个字节

    8. 实例 下面,举一个实例. 打开"记事本"程序Notepad.exe,新建一个文本文件,内容就是一个"严"字,依次采用ANSI,Unicode,Unicod ...

最新文章

  1. Ajax-简单的HelloWorld实例,使用了XMLHttpRequest(two)
  2. 【设计模式】迪米特法则和六种原则的总结
  3. jq取第一个子元素为select_【转】jquery如何获取第一个或最后一个子元素?
  4. 华为开发者大会2020(Together)精彩集锦
  5. java多线程下如何调用一个共同的内存单元(调用同一个对象)
  6. 生产环境下ftp的迁移并构建corosync+pacemaker的高可用
  7. 项目_电商_淘淘商城_0000
  8. python 使用PIL库批量修改图片大小
  9. 江苏大学计算机自动化专业排名2015,自动化专业排名
  10. StrokeIt 按键列表
  11. 千里马android framework实战开发-binder驱动之oneway导致的transaction failed
  12. 什么是TAO以及如何安装和使用TAO
  13. 买面茶--郭德纲相声
  14. 一款基于springboot开发的经典后台管理系统
  15. FFmpeg系列(四)—— mp4音视频流分离
  16. AcWing 1089 烽火传递 题解(动态规划—DP—单调队列优化DP)
  17. 第一次投稿(Elsevier)爱斯维尔期刊经验(持续更新)
  18. 常见对儿童的精神虐待行为及原因分析
  19. 你可能想象不到,手机号码标记居然也是一门月赚十万的好生意
  20. 中文编程软件 - 习语言安装与使用入门

热门文章

  1. 笔记-信息系统安全管理-计算机信息安全保护等级划分准则
  2. 转载-致IT同仁 —— IT人士常犯的17个职场错误
  3. Hbase报错ERROR: KeeperErrorCode = NoNode for /hbase/master
  4. Winform控件-DevExpress18下载安装注册以及在VS中使用
  5. DataTables鼠标停留高亮行并且鼠标点击二倍高亮行
  6. 【NLP】Task3:特征选择
  7. 单高斯分布模型GSM,高斯混合模型GMM
  8. 数据库系统概念总结:第七章 数据库设计和E-R模型
  9. Cisco Packet Tracer7.0的安装汉化与使用
  10. SpringCloud之微服务