位(bit)、字节(byte)、字、英文字符、中文字符的关系详解(涵盖字符编码)

目录

  • 0 引言
  • 1 位、字节、字
  • 2 字符编码
    • 2.1 为什么要有字符编码
    • 2.2 字符编码的种类有哪些
      • 拓展:ANSI 编码
  • 3 英文字符与中文字符的区别

请添加图片描述

  • 🙋‍♂️ 作者:海码007
  • 📜 专栏:C++专栏
  • 💥 标题:位(bit)、字节(byte)、字、英文字符、中文字符的关系详解(涵盖字符编码)
  • ❣️ 寄语:书到用时方恨少,事非经过不知难。
  • 🎈 最后:文章作者技术和水平有限,如果文中出现错误,希望大家能指正

0 引言

🎈在学习过程中位(bit)、字节(byte)、字、英文字符、中文字符这些概念在我脑海中一直很模糊,今天就在此回顾一下🎈

1 位、字节、字

  1. 位 bit
    位(bit)是计算机中最基本的信息单位,它可以表示二进制的0或1。一个位只能表示两种状态之一,通常用0表示假(False),用1表示真(True)。

  2. 字节 byte
    字节(byte)是计算机中常用的存储单位,它由8个连续的位组成。字节是计算机中最小的可寻址的存储单元,通常用于表示一个字符或其他小的数据单元。由于一个字节可以表示256(2^8)种不同的状态组合,因此可以表示的字符和数据范围广泛。


  3. 字(word)是一种存储单位,它由若干个字节组成,通常在计算机体系结构中定义了字的大小。字的大小可以是8位、16位、32位或更大,具体取决于计算机的设计。
    字在计算机中的作用是存储和处理数据。它可以表示整数、浮点数、字符或其他数据类型,具体取决于字的大小和计算机的架构。字的大小决定了计算机处理数据的能力和精度。较大的字可以存储更大范围的数值或更精确的浮点数,而较小的字则有限制。
    字的大小对计算机的性能和功能有重要影响。较大的字可以提高计算机的处理速度和效率,同时也提供了更丰富的数据表示能力。例如,现代计算机通常使用32位或64位的字来处理复杂的计算任务和存储大量的数据。

总结是最基本的存储单位字节是由8个位组成的常用存储单位是由若干个字节组成的存储单位,其大小取决于计算机的设计。用于表示最小粒度的数据,字节用于表示小的数据单元或字符(是计算机中最小的可寻址的存储单元),用于表示和处理更大范围的数据。

2 字符编码

把下面几个问题回答出来,也就知道字符编码的相关概念了。

2.1 为什么要有字符编码

  • 在显示器上看见的文字、图片等信息在电脑里面其实并不是我们看见的样子,即使你知道所有信息都存储在硬盘里,把它拆开也看不见里面有任何东西,只有些盘片。假设,你用显微镜把盘片放大,会看见盘片表面凹凸不平,凸起的地方被磁化,凹的地方是没有被磁化;凸起的地方代表数字1,凹的地方代表数字0。
  • 问题:硬盘只能用0和1来表示所有文字、图片等信息。那么字母”A”在硬盘上是如何存储的呢?
    答案字符编码,就是解决字符是在计算机如何与二进制数对应的。 因为用户不可能去看一堆二进制数,那样还有翻手册查询,效率极低,所以就需要使用字符编码,将一堆灰色难懂的二进制数转换成字符,增加可读性。
  • 但是不同的国家有不同的语言,也就产生了不同的字符。所以就会产生不同的字符编码,也就会有不同的字符集和二进制码对应。
  • 所以可能出现小张计算机存储字母”A”是1100001,而小王存储字母”A”是11000010,这样双方交换信息时就会误解。比如小张把1100001发送给小王,小王并不认为1100001是字母”A”,可能认为这是字母”X”,于是小王在用记事本访问存储在硬盘上的1100001时,在屏幕上显示的就是字母”X”。
  • 也就是说,小张和小王使用了不同的编码表。小张用的编码表是ASCII,ASCII编码表把26个字母都一一的对应到2进制1和0上;小王用的编码表可能是EBCDIC,只不过EBCDIC编码与ASCII编码中的字母和01的对应关系不同。
  • 一般地说,开放的操作系统(LINUX 、WINDOWS等)采用ASCII 编码,而大型主机系统(MVS 、OS/390等)采用EBCDIC 编码。在发送数据给对方前,需要事先告知对方自己所使用的编码,或者通过转码,使不同编码方案的两个系统可沟通自如。

2.2 字符编码的种类有哪些

字符编码是将字符映射到数字代码的方法。以下是一些常见的字符编码标准:

  1. ASCII(American Standard Code for Information Interchange):ASCII是最早和最常用的字符编码标准,它定义了128个字符的编码,包括英文字母、数字和一些常见符号。
  2. Unicode:Unicode是一个更为全面的字符编码标准,目标是包含世界上所有字符的编码。它为每个字符分配了一个唯一的代码点,可以用不同的编码方式表示,如UTF-8、UTF-16和UTF-32。
  3. UTF-8:UTF-8是一种变长的Unicode编码方式,它使用1到4个字节表示不同的字符,能够表示Unicode字符集中的所有字符。
  4. UTF-16:UTF-16也是一种Unicode编码方式,使用2个或4个字节表示字符,可以表示大部分的Unicode字符。
  5. UTF-32:UTF-32是一种固定长度的Unicode编码方式,使用4个字节表示每个字符,能够表示Unicode字符集中的所有字符。

除了这些常见的字符编码标准外,还有其他一些编码方式,如ISO-8859系列、GB2312、GBK、Big5等,它们主要用于特定的语言或地区字符集。

  1. GB2312:GB2312是中国国家标准局发布的汉字字符集标准,用于表示简体中文字符。它包含了6763个常用汉字和682个非汉字符号。
  2. GBK:GBK是GB2312的扩展版本,也是中国国家标准局发布的字符集标准。GBK包含了GB2312中的字符,同时还增加了包括繁体中文、日文假名、韩文在内的其他字符。GBK能够表示大部分中文字符。
  3. Big5:Big5是台湾使用的汉字字符集标准,用于表示繁体中文字符。它包含了13060个汉字和符号。

拓展ISO-8859系列是一系列字符编码标准,也被称为Latin字符集。每个ISO-8859标准定义了一个字符编码表,用于表示不同语言中的字符。ISO-8859-1是最常用的标准,也被称为Latin-1,包括了西欧语言中的字符。其他ISO-8859标准如ISO-8859-2、ISO-8859-5等,分别适用于中欧、斯拉夫语言等特定语言字符集。

拓展:ANSI 编码

  • ANSI编码是一种字符编码标准,全称为"American National Standards Institute"(美国国家标准学会)。它定义了字符与二进制数字之间的对应关系,用于在计算机系统中表示和传输文本数据。ANSI编码最初是在美国使用的,后来也被广泛应用于其他地区和国家。
  • 在ANSI编码中,每个字符都被赋予一个唯一的数字代码,范围从0到255。这些代码可以表示各种字符,包括字母、数字、标点符号和特殊字符。常见的ANSI编码包括ASCII编码(其中0到127的范围与ASCII完全相同)和扩展ASCII编码(使用了0到255的完整范围)。
  • 需要注意的是,随着时间的推移,ANSI编码逐渐被更先进的字符编码标准所取代,比如Unicode。Unicode提供了更广泛的字符支持,可以表示世界上几乎所有的语言和符号。
  • 需要注意的是,ANSI编码并不是一个统一的标准,而是根据不同操作系统和语言环境的不同而有所调整。在不同国家和地区,ANSI编码可能有些许变化。
    • 在美国,“ANSI 编码” 通常指代 Windows-1252 编码,它是一个用于表示英文和西欧语言字符的8位字符编码。
    • 在中文环境中,“ANSI 编码” 通常指代 GBK(汉字内码扩展规范)编码或 GB2312(汉字内码扩展规范)编码。(但需要注意的是,ANSI编码并不能完全表示所有的中文字符,因为它的字符范围有限)
    • 在日本,“ANSI 编码” 可能指代 Shift_JIS 编码,它是一种用于表示日文字符的字符编码。

总结:相对于ANSI编码,Unicode编码提供了更广泛的字符范围,能够支持全球范围内的各种语言和字符集。因此,在国际化应用中使用Unicode编码如UTF-8,能够更好地支持多语言文字的表示和交换。

3 英文字符与中文字符的区别

不同字符编码,英文字符和中文字符占的字节会有差别。下面展开介绍

  1. ASCII编码:一个英文字母(不分大小写)占1字节的空间,不支持中文字符
  2. Unicode编码:Unicode编码是一种字符集,它定义了字符与数字代码点之间的对应关系。具体到编码方案,比如UTF-8、UTF-16和UTF-32,所占字节数是不同的。
    1. UTF-8编码中,一个英文字符等于一1字节,一个中文(含繁体)等于3个字节
    2. UTF-16编码中,一个英文字符或一个汉字字符存储都需要2个字节Unicode扩展区的一些汉字存储需要4个字节)。
    3. UTF-32编码中,世界上任何字符的存储都需要4个字节
  3. GBK编码:GBK是中文编码的一种,它兼容ASCII编码,英文字符占用1个字节,中文字符占用2个字节
  4. Big5编码:Big5是繁体中文编码的一种,英文字符占用1个字节,中文字符占用2个字节
  5. GB2312编码:GB2312是简体中文编码的一种,英文字符占用1个字节,中文字符占用2个字节

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

至高直降3000元,微星笔记本双11爆款推荐、好评有礼拿到手软

今年双11来的更早一些,微星笔记本先行的第一波雷影17促销活动,就已经领略到玩家们满满的热情。开门红高潮一触即发,微星笔记本双11活动周期至高直降3000元,众多爆款好货已经开启预约预售:有硬核玩家偏爱的性能双雄&…

聚观早报 |2024款飞凡R7官宣;小米14新配色材质

【聚观365】10月27日消息 2024款飞凡R7官宣 小米14新配色材质 金山办公2023第三季度业绩 IBM2023第三季度业绩 新东方2024财年第一季度业绩 2024款飞凡R7官宣 飞凡汽车官宣,2024款飞凡R7将于11月上市,新车将搭载飞凡巴赫座舱,同时超过1…

Node编写重置用户密码接口

目录 前言 定义路由和处理函数 验证表单数据 实现重置密码功能 前言 接前面文章,本文介绍如何编写重置用户密码接口 定义路由和处理函数 路由 // 重置密码的路由 router.post(/updatepwd, userinfo_handler.updatePassword) 处理函数 exports.updatePasswo…

php之 角色的权限管理(RBAC)详解

RBAC(Role-based access control)是一种常见的权限管理模型,通过将用户分配至特定的角色,以及为角色分配访问权限,实现了权限管理的目的。以下是关于RBAC的详细解释: 角色:RBAC模型的核心是角色…

65、内网安全-域环境工作组局域网探针方案

目录 案例1-基本信息收集操作演示案例2-网络信息收集操作演示案例3-用户信息收集操作演示案例4-凭据信息收集操作演示案例5-探针主机域控架构服务操作演示涉及资源 我们攻击内网一般是借助web攻击,直接进去,然后再去攻击内网,那么攻击的对象一…

搞懂 MySql 的架构和执行流程

搞懂 MySql 的架构和执行流程 1、MySQL 的三层架构2、SQL 的执行流程2.1、连接器2.2、解析器2.3、预处理器2.4、优化器2.5、执行器2.6、存储引擎 3、关于Select 的两个顺序 1、MySQL 的三层架构 MySQL的三层结构包括: 连接层:负责与MySQL客户端之间的通…

matlab中类的分别之handle类和value类——matlab无法修改类属性值的可能原因

写在之前(吐槽) 最近由于变化了一些工作方向,开始需要使用matlab进行开发,哎哟喂,matlab使用的我想吐,那个matlab编辑器又没代码提示,又没彩色,我只好用vscode进行代码编辑&#xf…

13.6性能测试理论

一.什么是性能测试 1.定义: 测试人员借助性能测试工具(LoadRunner等),模拟系统在不同场景下(使用高峰期等),对应的性能指标是否达到预期. 2.性能测试和功能测试的区别: a.功能测试依靠人工,性能测试依靠工具. b)功能测试要求软件能正常运行,不管什么场景,性能测试要求软件…

嵌入式 Tomcat 调校

SpringBoot 嵌入了 Web 容器如 Tomcat/Jetty/Undertow,——这是怎么做到的?我们以 Tomcat 为例子,尝试调用嵌入式 Tomcat。 调用嵌入式 Tomcat,如果按照默认去启动,一个 main 函数就可以了。 简单的例子 下面是启动…

故障诊断入门书籍资料免费领取

前言 本期分享免费提供9本故障诊断领域相关的书籍资料,可自行下载 一、主要内容 二、书籍获取

VR结合|山海鲸虚拟展厅解决方案

方案背景 虚拟现实技术是另一项革命性的创新,它可以将用户带入一个完全虚拟的环境中。借助VR头盔和控制器,用户可以亲临虚拟现实中,与数字世界互动,仿佛置身于其中。 山海鲸根据用户实际需求变化将数字孪生与虚拟现实技术相结合…

Web攻防06_sqlmap的使用

文章目录 参考链接: SQLMAP简介支持五种不同的注入模式 数据猜解-库表列数据权限操作引出权限:引出文件:引出命令(执行命令): 提交方法-POST&HEAD&JSONPost注入cookie注入注入请求头中(…

【1++的Linux】之进程间通信

👍作者主页:进击的1 🤩 专栏链接:【1的Linux】 文章目录 一,进程间通信的目的二,管道 一,进程间通信的目的 数据传输:一个进程需要将它的数据发送给另一个进程资源共享:…

深度学习:张量 介绍

张量[1]是向量和矩阵到 n 维的推广。了解它们如何相互作用是机器学习的基础。 简介 虽然张量看起来是复杂的对象,但它们可以理解为向量和矩阵的集合。理解向量和矩阵对于理解张量至关重要。 向量是元素的一维列表: 矩阵是向量的二维列表: 下标…

unity button移动位置some values driven by canvas

1 可以在button父节点把限制取消勾选 2 在不动整个布局的情况下,只修改局部变量:忽略布局即可

【C++】list的介绍及使用 | 模拟实现list(万字详解)

目录 一、list的介绍及使用 什么是list? list的基本操作 增删查改 获取list元素 不常见操作的使用说明 ​编辑 接合splice ​编辑 移除remove 去重unique 二、模拟实现list 大框架 构造函数 尾插push_back 迭代器__list_iterator list的迭代器要如何…

2023年MathorCup高校数学建模挑战赛大数据挑战赛赛题浅析

比赛时长为期7天的妈杯大数据挑战赛如期开赛,为了帮助大家更好的选题,首先给大家带来赛题浅析,为了方便大家更好的选题。 赛道 A:基于计算机视觉的坑洼道路检测和识别 A题,图像处理类题目。这种题目的难度数模独一档…

TextureView和SurfaceView

1、Surface Surface对应了一块屏幕的缓冲区,每一个window对应一个Surface,任何View都是画在Surface上的,传统的View共享一块屏幕缓冲区,所有的绘制都必须在UI线程上进行。 2、SurfaceView 顾名思义就是Surface的View,…

Python爬虫网易云音乐,Tkinter制作音乐播放器

目录 一、效果展示 二、环境 三、实现过程 四、源码 一、效果展示 页面的美化以及功能还有待升级~ 先来说一下已有功能吧: 可以在搜索框中通过歌曲或歌手名称进行搜索,效果和在网易云官网搜索一样。 点击开始下载,就会将搜索结果的第一…

FoLR:Focus on Local Regions for Query-based Object Detection论文学习笔记

论文地址:https://arxiv.org/abs/2310.06470 自从DETR问询式检测器首次亮相以来,基于查询的方法在目标检测中引起了广泛关注。然而,这些方法面临着收敛速度慢和性能亚优等挑战。值得注意的是,在目标检测中,自注意力机制…