字符编码(计算机知识理解篇)

字符编码


基本概念

什么是字符编码?字符编码就是将字符集中的字符映射成一些数字,只不过这些数字是二进制表示而成的。计算机通过存储这些数字的二进制表示,来存储相应的字符。

计算机中存储的基本单位,以及单位之间的换算是什么样的呢?其实每个计算机专业的人都应该知道:计算机中存储的都是01的二进制数字,每个bit位存一个二进制数字0或者1,每个字节Byte由8个bit位组成,就像2个bit能存储4个数字一样:00,01,10,11;一个Byte正好能表示2^8也就是256个数字,每个数字就对应了一个字符。所以说,我们把一个字节,也就是一个Byte作为计算机存储的基本单位。下面是更大的存储单位换算:

  • 1KB = 1024B(这里的B就是Byte)
  • 1MB = 1024KB
  • 1GB = 1024MB
  • 1TB = 1024GB

常见的编码

  1.  ASCII码:是最早的字符编码标准,使用的是7位二进制数,表示128个常用字符(但实际上是8位,只不过最高位没用一直都是0),包括英文大小写字母、0-9数字,以及其他常用字符。ASCII编码是单字节编码,每个字符占用一个字节的存储空间。
  2. GBK:是中文编码标准,支持汉字字符。GBK使用双字节编码,其中一个字节表示高位,另一个表示低位,可以表示大约21000个汉字和字符。GBK是兼容ASCII编码,ASCII可以用一个字节表示一个字符。2^16 = 65536 能存储这么多种字符。
  3. Unicode:统一码,Unicode采用的是4个字节表示一个字符,他想表示整个是世界的字符,2^32个,肯定够用了,但是有个问题,每个字符都是4个字节,就连之前美国人自己的ASCII码明明可以用一个字节表示,现在用4个字节,不纯纯大怨种嘛,耗费那么多计算机资源干啥。
  4. utf-8:是一种可变长的Unicode编码,通过使用不同长度的字节表示字符。UTF-8是网上最常用的字符编码方式,可兼容ASCII编码,表示全球所有语言的字符。根据字符集范围采用不同数量的字节表示,ASCII码就用一个字节表示,其他用不同长度的字节表示。

编码和解码

  • 编码:将字符转换成二进制数字的过程。
  • 解码:将二进制数字转换成字符的过程。

为什么会出现乱码?

因为编码和解码的方式不一样,你用gbk编码,用utf-8解码,那能一样嘛?所以你的txt文件保存的时候采用什么编码,打开的时候就用什么编码方式,这就是规则。


好了,这讲就这么多知识,如果你想要了解的更详细一些,可以去查一下相关资料,记得一键三连哦~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值