首页 > 编程知识 正文

字符类型占几个字节(1b是多少字节)

时间:2023-05-06 10:52:46 阅读:90850 作者:4880

我上第一节电脑课的时候,我的电脑老师跟我说英语文字是一个字节,中文是两个字节。 多年来,我一直相信这个。 我想很多人也是这么想的。 但是,说真的是这样吗?

要知道这个问题,必须先从字节开始。 什么是字节? 要知道,在计算中,下层都是与晶体管开关断开的状态。 表示开关状态的称为位,8位称为1字节。 也就是说,一个字节可以表示00000000-11111111,即0到255。 为什么是第八名呢? 因为文字实际上不足128个字符,所以按理说7位数就足够了。 一个是程序员也很迷信,认为7是不吉利的数字。 另一个是,8正好是2^3,电脑更容易理解。

美国信息交换标准代码(ASCII )是美国人用于对拉丁字母进行编码的代码。 电脑是美国人发明的,所以我不认为其他国家也可能使用电脑。 以下是ASCII代码的对应表。

之后,随着计算机的发展,在非拉丁文字的国家也开始使用计算机了。 发现一个字节只能表示256个字符。 这显然不够。 像我们这样汉字博大精深,常用的有几千个字。 于是出现了常见的中文代码GB2312 (国家简体中文字符集)。 GB2312用2个字节表示1个汉字。 例如,在学习中,对应的代码为10010010 0000111。 这是小时候,我们的电脑老师告诉我们的。 在电脑中,字母占1字节,汉字占2字节。

随着互联网的发展,不同的国家和语言使用不同的代码。 每次人进行交流,都需要知道对方使用的是哪个代码。 这经常涉及到交流的成本,因为编码错误经常会产生各种各样的乌龙。 于是,国际上决定了全新的编码方法。 有一个对应于世界上所有字符、字符的编码,今后无需转换为不同的编码。 这就是Unicode编码。 Unicode代码使用4个字节来描述一个字符。 每个字节8位,理论上可以表示2^32个不同的字符。 世界上的文字没有那么多。

但是,与之相伴,一个英语字符需要一个字节,一个中文字符需要两个字节,但是现在需要四个字节,产生了相当于存储容量变大的问题。 这给网络传输、系统存储带来了一定的成本。 此时,人们想要压缩,提出了UTF8、UTF16这样的表示方法。 UTF8是我们最常用的。 怎么显示? 对于一个汉字,例如上述学习的学字用Unicode代码表示为0000000000000101101101101010110。 很明显,前面的字节都是0,非常浪费。 最好压缩它,让别人知道原来对应的是4字节。 我该怎么办? UTF8为了解决这个问题,中文双字符变为3字节,第一个字节从1110开始,第二个从10开始。 剩下的16位被分配给这3个字节。 照片显示了该单词如何从Unicode代码转换为utf8代码。

那么,到这里我想您已经明白了,一个汉字占多少字节,与汉字的编码有关。 在GB2312或GBK代码中,大多数汉字是2字节(部分3个字符),在UTF8代码中,大多数汉字是3字节)部分4个字符。 怎么样,学到东西了吗? 有意思吗?

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。