造冰箱的熊猫@cnblogs 2018/12/11

用了这么久的UTF-8,第一次了解了点UTF-8的细节

UTF-8[1]属于变长度编码。一个UTF-8字符的编码长度为1~4个字节。

1)长度为1个字节的UTF-8字符:取值为b0xxx'xxxx,等于相同取值的ASCII字符,共计128个。对应的编码点(code point)为U+0000~U+007F。

2)长度为2个字节的UTF-8字符:取值为b110x'xxxx,b10xx'xxxx。对应的编码点为U+0080~U+07FF,共计1920个。

3)长度为3个字节的UTF-8字符:取值为b1110'xxxx,b10xx'xxxx,b10xx'xxxx。对应的编码点为U+0800~U+FFFF。RFC3629[2]规定,U+D800~U+DFFF为无效编码点,因此共计61440个。

4)长度为4个字节的UTF-8字符:取值为b1111'0xxx,b10xx'xxxx,b10xx'xxxx,b10xx'xxxx。对应的编码点为U+10000~U+10FFFF,共计1’048‘576个。

合计UTF-8编码的字符为1’112‘064个。

ASCII(American Standard Code for Information Interchange)属于单字节编码,取值范围为0x00~0x7F/b0xxx'xxxx。取值范围为b1xxx'xxxx为扩展ASCII。

参考

[1] 维基百科:UTF-8

[2] RFC3629:UTF-8, a transformation format of ISO 10646

转载于:https://www.cnblogs.com/pandabang/p/10100287.html

ASCII和UTF-8相关推荐

  1. ASCII码、Unicode编码对照表 —— ASCII控制字符 Unicode编码 字符编码的前世此生

    ASCII控制字符  Unicode编码 ASCII(American Standard Code for Information Interchange,美国信息互换标准代码,ASCⅡ)是基于拉丁字 ...

  2. java 遍历二进制_读取二进制文件并循环遍历每个字节

    在Python中读取二进制文件并循环遍历每个字节 Python 3.5中的新功能是 pathlib 模块,它有一个特别方便的方法来读取文件中的字节,允许我们迭代字节 . 我认为这是一个体面的(如果快速 ...

  3. python unicode函数_python 中的unicode详解

    通过例子来看问题是比较容易懂的. 首先来看,下面这个是我新建的一个txt文件,名字叫做ivan_utf8.txt,然后里面随便编辑了一些东西. 然后来用控制台打开这个文件,同样也是截图: 这里就是简单 ...

  4. Mojibakes来自哪里? 编码要点

    This article explores the basic concepts behind character encoding and then takes a dive deeper into ...

  5. 高通Camera 软件工程师的成长之路

    本文以个人的工作学习经历来描述一 Camera 软件工程师的披荆斩棘之路,时间从大学开始,以至任职于高通 Camera 软件工程师结束,杂以本人学习过程当中的一系列学习笔记和博客文章,绝对是干货满满, ...

  6. 滑块验证码通杀方案--python破解代码

    本代码理论上可以通杀市面上所有滑块(如果真出现了识别不到,请自行根据文章末尾的参考内容,自己进行调教) 在线测试地址:simple_ocr 截至2022.7.13,可以破解的有: 1.顶象 2.网易易 ...

  7. 2021SC@SDUSC山东大学软件学院软件工程应用与实践--YOLOV5代码分析(四)general.py-2

    2021SC@SDUSC 目录 前言 is_writeable函数 is_docker函数 is_colab函数 is_pip函数 is_ascii函数 file_size函数 check_onlin ...

  8. python中的符号是否都是英文符号_使用Python处理CSV中的非标准美式英文字符和符号...

    您的问题最有可能与MS Office套件的CP-1252"Windows Unicode"编码.如果你将它看作ASCII或UTF,你会得到时髦的字符. 你可以做两件事情: 队的MS ...

  9. Python基础知识_学习笔记(20200629更新)

    Python学习笔记 本人跟随pythonav武老师视频课学习 侵权删! 瞎哔哔区: 2020-04-19:跟随武老师视频整理了第一版笔记,计划每周末都将这一周的学习笔记整理出来,供大家分享讨论 20 ...

  10. C++17 新特性介绍

    文章目录 一.C++ 标准发布历史 二.基本语言特性 1. 结构化绑定 结构化绑定的两点优势 一个使用结构化绑定来改进代码的例子 2. 带初始化的`if` 和`switch` 语句 2.1 带初始化的 ...

最新文章

  1. C语言socket bind()函数(为socket套接字关联了一个相应的地址与端口号)
  2. 为什么我开发的SAP UI5应用里的group by 功能不工作?
  3. myeclipse窗口布局控件任意_木辛老师的编程课堂:Python和Qt第2讲之布局管理初探(三)...
  4. jenkins的简介与安装
  5. 使用OpenCV-python实现手写数字识别
  6. mapreduce实现矩阵相乘
  7. [Reinforcement Learning] 动态规划(Planning)
  8. 【BIEE】14_开发流程介绍
  9. Smplayer播放wmv视频文件
  10. python中xlrd.open_workbook_python处理exce方法:xlrd、openyxl
  11. (转)原始图像数据和PDF中的图像数据
  12. adventure项目案例分析
  13. 红帽系统换服务器,红帽服务器系统设置中文
  14. 大厂Java面试过程中如何介绍自己的项目经历?
  15. 我的世界热力膨胀JAVA_我的世界1.12-1.6.4热力膨胀 Thermal Expansion Mod下载
  16. python 实现雪容融
  17. 将PowerPoint转换为视频的软件——ppt2wmv简介
  18. 微信公众号网页授权--前端获取code及用户信息(vue)【简单详细版】
  19. 2021牛年大吉,红包敬上
  20. 递归:由浅入深,深入了解递归

热门文章

  1. 编程基本功:工作中,高低境界如何迁就?
  2. 构建freeswitch, make cd-moh-install提示文件错误
  3. 强烈抗议故意审核不通过
  4. 工作中要注意拍照录像,证明工作完成
  5. gstreamer插件用不了,及黑名单Blacklist的解决办法
  6. 无继承情况下的对象构造
  7. java线性表多个属性_顺序存储结构的线性表(java实现)
  8. centos安装nginx 编译时报错_树莓派centos-arm安装k8s编译
  9. 如何理解java抽象类,我是如何理解Java抽象类和接口的
  10. php 运行服务,php自动运行 win32service功能