当前位置:首页 > 教育 >

1个字节多少个bit(1个bit等于多少字节)

来源:原点资讯(www.yd166.com)时间:2023-04-22 22:38:55作者:YD166手机阅读>>

1个字节多少个bit,1个bit等于多少字节(1)

前言

前几天无意中刷脉脉的时候,看到一个人吐槽微信的拍一拍尾巴的填写报错提示,其中评论区也感觉蛮多人对汉字,字符,字节这几个概念认知不够清晰。因为我之前也是做技术的,虽然很多知识概念都忘得差不多了,但是隐隐就感觉评论区说的是错误的。

1个字节多少个bit,1个bit等于多少字节(2)

1个字节多少个bit,1个bit等于多少字节(3)

于是乎我花了点时间,在网上找了一些资料和文章等,收集一波发出来,跟大家共同学习。

以下内容都是从网上找的,我会注明出处,再加上一些自己的理解和解析,以便于非技术产品也能读懂,那么我们就开始吧。

什么是字节?

字节的百科定义是:

字节(Byte)是计算机信息技术用于计量存储容量的一种计量单位。

如果你只是在纸上写字,那么就用不到字节,但是如果你要把字存入电脑,就需要占用一定的磁盘空间。我们知道,电脑只能用高电位、低电位的形式存储数据,抽象出来,那就是电脑存数据最终只能用二进制的形式,也就是用0和1表示,无论任何数据,最终存储的时候都是一段包含多个0和1的串,例如“00110101”,这里的每一个0或1被称为1位。

“位”就是最小的存储单位,然后我们把8位称为1个字节,也就是1个字节等于8位。这个概念类似于“1公里=1000米”,本质上是一回事,只是使用不同级别的单位而已。由于二进制实在太长,不方便展示,所以一般将1个字节(8位)的二进制转换成十六进制进行展示,例如将11010011转换成十六进制就是D3,这就是一个字节。

我们可以看下字符“你”在UTF-8字符集下的表示方式,在MySQL中你可以直接使用 HEX() 函数来进行转换。

SELECTHEX('你')--E4BDA0

可以看出,使用UTF-8字符集,字符“你”需要使用3个字节来进行存储(分别是E4,BD,A0),实际存储的二进制是

111001001011110110100000

再次说明,E4BDA0 只是 111001001011110110100000 的简写形式,两者本质上是一回事。

我们继续看一下,存储一个英文字符需要占用多少字节。

SELECTHEX('Z')--5A

可以看到,存储英文字符“Z”只需要一个字节。

在MySQL中,你可以直接使用 LENGTH() 函数来查看指定字符串占用的空间(字节数)。

SELECTLENGTH('你')--3 SELECTLENGTH('Z')--1 SELECTLENGTH('A啊a1')--6

你可以直接记住结论:在UTF-8字符集下,一个中文字符占用3个字节,一个英文字符占用1个字节。如果要计算字符串占用的字节数,只需要按照这个方式相加即可。

什么是字符?

以下是百科对字符的定义:

字符指类字形单位或符号,包括字母、数字、运算符号、标点符号和其他符号,以及一些功能性符号。

为了方便理解,你可以将字符简单地理解为你可以用输入法单独打出的任何单个的内容(空格也算是字符)。对于中文和英文而言,以下内容分别都是1个字符:

(1)1个中文字,例如“是”

(2)1个英文字母,例如“T”

(3)1个中文标点符号,例如“。”

(4)1个英文标点符号,例如“.”

所谓的“字符串”就是由以上说的一个个字符组成的,字符串就是由一个个字符拼接而成的列表,以下是Javascript代码演示:

conststr='A啊a1' console.log(str[0])//'A' console.log(str[1])//'啊' console.log(str[2])//'a' console.log(str[3])//'1'

在MySQL中,你可以使用CHAR_LENGTH()函数,查看指定字符串的字符数。例如:

SELECTCHAR_LENGTH('A啊a1')--4

以上内容摘自知乎《一文搞懂字符和字节的含义》,有所删改,去掉了一些容易造成理解困难的原理等

字符编码的来龙去脉

因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295。

由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。

但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。

你可以想得到的是,全世界有上百种语言,日本把日文编到Shift_JIS里,韩国把韩文编到Euc-kr里,各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码。

1个字节多少个bit,1个bit等于多少字节(4)

首页 123下一页

栏目热文

1等于多少字节kb(1m等于多少kb等于多少字节)

1等于多少字节kb(1m等于多少kb等于多少字节)

首先大家都知道在计算机领域中是采用二进制,也就是0和1这两个最简单的数字,其中二进制数的一位所包含的信息就是一比特,比特...

2023-04-22 22:08:42查看全文 >>

1kb表示多少个字节(1kb包括的字节数是多少)

1kb表示多少个字节(1kb包括的字节数是多少)

当今数字化时代下,各个领域对视频监控的需求不断增加,视频监控系统也在不断发展,由之前的模拟型摄像机到现目前通用的网络摄像...

2023-04-22 22:21:28查看全文 >>

一个字节为什么是8位(字字节位之间的关系)

一个字节为什么是8位(字字节位之间的关系)

一个字节为8位,这是有点编程基础的人都知道的常识,但是为什么一定要是8位呢?当初为什么要这么设计呢?带着这个疑问,我查阅...

2023-04-22 22:21:16查看全文 >>

1kb等于几bytes(1kb是多少字节怎么算)

1kb等于几bytes(1kb是多少字节怎么算)

1.以下关于电子邮件的说法,不正确的的是(c) a.电子邮件的英文简称是 E-mailb.加入因特网的每个用户通过申请都...

2023-04-22 22:17:05查看全文 >>

1kb为什么等于1024(1kb什么时候等于1024)

1kb为什么等于1024(1kb什么时候等于1024)

Hello大家好,我是兼容机之家的小牛!比起四五年前,固态硬盘的价格已经非常便宜了,因为固态硬盘比机械硬盘有着更快的读写...

2023-04-22 22:34:09查看全文 >>

32位bit相当于多少字节(32位bit相当于多少个字)

32位bit相当于多少字节(32位bit相当于多少个字)

一----IP简介1---IP地址简介:Internet Protocol Address-IP网际协议地址,常读写为I...

2023-04-22 22:09:26查看全文 >>

存储一个48*48的汉字需要多少字节(储存1000个汉字需要多少个字节)

存储一个48*48的汉字需要多少字节(储存1000个汉字需要多少个字节)

信息技术基础知识点第一章《信息与信息技术》知识点1、1信息及其特征一、信息的概念信息是事物的运动状态及其状态变化的方式。...

2023-04-22 22:05:57查看全文 >>

口腔考研最容易的学校(口腔考研最容易考上的学校排名)

口腔考研最容易的学校(口腔考研最容易考上的学校排名)

近年社会对医科类毕业生的需求有不同的倾向,临床医学类人才有走俏的趋势,预防医学、口腔医学专业从理论上是有前途的,那么口腔...

2023-04-22 22:28:49查看全文 >>

口腔硕士就业难(口腔医学硕士未来10年怎么样)

口腔硕士就业难(口腔医学硕士未来10年怎么样)

口腔医学与临床医学比较,优势很明显:风险较小,不用值夜班,还有机会创业;加上招生计划比临床医学少,一般高校口腔医学专业比...

2023-04-22 22:15:27查看全文 >>

口腔考研通过率(口腔医学考研四个方向哪个最好)

口腔考研通过率(口腔医学考研四个方向哪个最好)

考研是很多大学生毕业后选择的一种升学方式,而选择一个容易考上的专业无疑是考研路上的重要一步。那么,到底哪些专业是考研最容...

2023-04-22 22:29:23查看全文 >>

文档排行