各种常用字符编码详解【图文教程】,Unicode 是一个编码规范,并不是一个具体的编码

news2024/9/26 19:08:12

文章目录

  • 常见编码的比较,各个编码中各字符占用(字节数):
  • 简体中文编码发展史,编码出现时间和涵盖范围
  • UTF-8、unicode与GBK编码转化
  • 一问一答
  • 其他
    • ASCII表
  • 参考文档

常见编码的比较,各个编码中各字符占用(字节数):

编码英文中文(简体)中文(繁体)
ASCII1不支持不支持
Unicode444
UTF-8133
UTF-16244
UTF-32444
GB231212不支持
BIG51不支持2
GBK122
GB18030122
150-8859-11不支持不支持
  • 比如UTF-32 编码,英文,中文长度相同。说明这种编码为等长度编码,优点是解码速度快,缺点是浪费存储空间。
  • UTF-8 是可变编码,涵盖了所有的Unicode字符,所以UTF-8存储某些编码的时候需要4个字节。UTF-8 完全兼容ASCII编码,UTF-32是不兼容的,因为UTF-8表示ASCII只需要一个字节。

简体中文编码发展史,编码出现时间和涵盖范围

在这里插入图片描述

UTF-8、unicode与GBK编码转化

  • unicode是一个编码规范,并不是一个编码实现方式(不理解这句话的可以看看后面的详细解释)
  • UTF-8 和 GBK 编码通过unicode规范进行转换
  • UTF-8涵盖了所有unicode字符,但是GBK 只考虑中文,在unicode中的一小部分的字符的编码。因为编码范围不同,所以如果UTF-8使用了GBK范围之外的编码必定会产生乱码。
    在这里插入图片描述

一问一答

1. Unicode占几个字符?
Unicode是一个编码规范,并不是计算机内的一个具体的编码。ASCII编码也是编码规范,并不是计算机中具体的编码方式。Unicode 编码是一个二进制字符集,其只规定了字符的二进制代码,却没有规定这些二进制代码应该如何存储。

2. 什么是编码规范?
这里作者用口语化方式给大家解释解释,比如65代表’A’,但是在不同的编码中二进制的值是一样的,但是长度未必一样。比如二进制 “01000001” 和 “000001000001” 都是表示65,但是第二个二进制前面多了4个0,就是这种区别代表了编码实现方式。

3. utf-8和Unicode的关系
utf-8编码是基于Unicode标准实现的

4. 基于Unicode标准实现的编码一定容纳了所有Unicode规范的字符么?
不一定,Unicode是规范了世界上所有存在的文字符号,但是编码具体实现的过程之中,可能并不会实现所有的文字符号,这样的好处是可以节省存储空间和计算速度。比如编码可以之实现0~127的编码,那么编码就可以直接使用1个字节的空间存储就够了。

5. UTF-8的值可以直接对应Unicode的值么?
不行,需要算法转换

6. UTF-32的值可以直接对应Unicode的值么?
可以,所以效率贼高。这也是为什么UTF-32也被大量应用

其他

ASCII表

在这里插入图片描述

参考文档

  • 各种字符编码详解【图文教程】
  • 一文读懂字符编码ASCII、Unicode与UTF-8
  • Unicode 和 UTF-8 详解
  • Unicode编码详解(四):UTF-16编码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/487629.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数说热点 | 跟着《长月烬明》起飞,今年各地文旅主打的就是一个听劝

近日,随着热播剧《长月烬明》的爆火,蚌埠、宣城、敦煌等多个与剧情梦幻联动的宝藏城市被带飞,各地热心网友也纷纷催促自家文旅局赶紧“蹭飞”,《长月烬明》以一己之力打造了影视文旅融合的新样板。 仙偶剧特效天花板,…

SpringCloud------代码demo(二)

SpringCloud------代码demo(二) 编码实操 以订单——支付微服务模块作为基础,开始逐渐扩充 微服务架构编码构建 1.约定 > 配置 > 编码 2.IDEA新建project工作空间 3.Rest微服务工程构建 总父工程 POM project module 首先创建maven项…

FPGA入门系列14--VGA

文章简介 本系列文章主要针对FPGA初学者编写,包括FPGA的模块书写、基础语法、状态机、RAM、UART、SPI、VGA、以及功能验证等。将每一个知识点作为一个章节进行讲解,旨在更快速的提升初学者在FPGA开发方面的能力,每一个章节中都有针对性的代码…

06 - 3 事件驱动架构模式——EDA

何为EDA 事件驱动架构是一种异步分发事件的架构模式用于高扩展且低耦合的系统以事件为核心,一系列解耦的、单一功能的事件处理器 Notification 源系统发送消息通知其他系统状态改变接收方响应非必须发送 Event 逻辑与处理 Event 逻辑无依赖,独立变化解…

华为路由WS5200 四核版使用体验

文章目录 前言一、主界面和上网设置二、网络WIFI设置三、安全和系统总结 前言 其实我是看不上这种除了能上网,没任何用的东东的。除了上古时代用过类似的简单设备,已经十数年没再看一眼这种东西了,当然更不会去买这种东西,别误会…

vscode配置latex

reference:https://zhuanlan.zhihu.com/p/166523064 1 texlive卸载 找到texlive\2019\tlpkg\installer下的uninst.bat文件并点击运行。 删除环境变量 2 texlive安装 打开https://tug.org/texlive/acquire-iso.html点击下载iso文件 3 vscode 安装 4 latex插件…

Linux系统编程 多线程基础

文章目录 前言一、线程概念二、线程的创建三、线程的退出四、pthread_join函数总结 前言 本篇文章作为多线程的入门讲解将带大家先创建几个线程来感受一下什么是多线程,了解一下多线程到底有什么作用。 一、线程概念 线程(Thread)是程序执…

C++类与对象(二)——构造函数与析构函数

文章目录 一.类的默认6个成员函数二.构造函数1.引例2.构造函数的概念及特性 三.析构函数😋析构函数的特性 前言: 上篇文章初步认识了类以及类的相关知识,本篇将继续深入学习类与对象——类的默认6个成员函数: 一.类的默认6个成员函…

制造企业如何跨越大规模定制鸿沟?中国最大减速机企业的答案来了

导读:传统制造企业如何深度用云? 在中国制造向中国智造的转型中,长三角地区一直扮演着急先锋的角色。总部位于常州的江苏国茂减速机股份有限公司(简称国茂股份),就是中国制造上云转型的典型代表。 国茂股份成立于1993年&#xff0…

Microelectronic学习章节总结(2)-- data path和control unit设计

文章目录 part1. Data path设计1.1 logic unit1.2 shifter1.3 adder1.4 comparator1.5 multiplier1.6 divider1.7 register file part2. Control unit设计part3. CPU SoC上的其它部件 (TODO:理解总结)3.1 总线AMBA(parallel) 3.2 Memorymemor…

[C++基础]-类和对象(下)

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正。 目录 一、深入学…

推荐算法实战项目:AFM 原理以及案例实战(附完整 Python 代码)

本文要介绍的是由浙江大学联合新加坡国立大学提出的AFM模型。通过名字也可以看出,此模型又是基于FM模型的改进,其中A代表”Attention“,即AFM模型实际上是在FM模型中引入了注意力机制改进得来的。 之所以要在FM模型中引入注意力机制&#xf…

PC3-管理员操作

token无效可能,就是token过期了需要配置::: history 安装可以跳路由在ts文件中:因为在ts文件中还需要store,清空token // 安装可以跳路由在ts文件中npm i history 防止接口出现 token 无效,登…

【C++】AVL平衡二叉树源码剖析

目录 概述 算法 左单旋 右单旋 左右双旋 右左双旋 源码 AVLTree.h test.cpp 概述 AVL树也叫平衡二叉搜索树,是二叉搜索树的进化版,设计是原理是弥补二叉搜索树的缺陷:当插入的数据接近于有序数列时,二叉搜索树的性能严重…

20天能拿下PMP吗?

新版大纲,专注于人员、过程、业务环境三个领域,内容贯穿价值交付范围(包括预测、敏捷和混合的方法)。除了考试时间由240分钟变更为230分钟、200道单选题变为180道(包含单选和多选)之外,新考纲还…

【Ubuntu18配置Anaconda深度学习环境】

参考:Ubuntu18配置与ROS 兼容的深度学习环境(Anaconda3PyTorch1.10python3.8cuda10.2) 1. 前言 之前在Window下安装了Anaconda,熟悉了一下安装过程,Ubuntu18.04下最难的应该就是和ROS Melodic的兼容问题。ROS1是基于P…

Linux常用命令——inotifywait命令

在线Linux命令查询工具 inotifywait 异步文件系统监控机制 补充说明 Inotify一种强大的、细粒度的、异步文件系统监控机制,它满足各种各样的文件监控需要,可以监控文件系统的访问属性、读写属性、权限属性、删除创建、移动等操作,也就是可…

数据结构之第十一章、排序算法

一、排序的概念及引用 1.1排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 1.1.1排序的稳定性 稳定性:假定在待排序的记录序列中,存在多个具…

数据结构之第九章、优先级队列(堆)

目录 一、优先级队列 1.1概念 二、优先级队列的模拟实现 2.1堆的概念 2.2堆的存储方式 2.3堆的创建 2.3.1堆向下调整 2.3.2堆的创建 2.3.3建堆的时间复杂度 2.4堆的插入与删除 2.4.1堆的插入 2.4.2堆的删除 2.5用堆模拟实现优先级队列 三、常用接口介绍 3.1Priori…

计算机组成原理与体系结构

目录 第一章、计算机组成原理与体系结构1、数据的表示1.1.进制转换1.2.原码、反码、补码、移码1.3.数据的表述 2、计算机结构3、Flynn分类法4、CISC与RISC5、流水线技术5.1、流水线的基本概念5.2、流水线的计算5.3、流水线吞吐率计算5.4、流水线加速比计算5.5、流水线的效率 6、…