计算机基础 —— 字符、字符集、字符编码

本文详细介绍了计算机如何通过字符编码显示文字,从位、字节的基础概念到ASCII、ISO-8859-1、GB2312、BIG5、GBK、Unicode等编码方式,探讨了字节顺序、BOM以及大端和小端的概念,旨在帮助读者全面理解字符编码的原理和应用。
摘要由CSDN通过智能技术生成

计算机如何显示文字

计算机是以二进制的形式保存/处理数据,不管我们使用键盘输入还是让计算机去读取一个文本文件,计算机得到的原始内容是一些二进制数据,当需要对这些二进制数据进行显示时,计算机会依照某种翻译机制/编码方式,取到这些二进制序列所表示的每个文字的轮廓描述(点阵或矢量图),知道了轮廓,计算机便可以将二进制序列所表示的实际的文字形状显示到屏幕。

编码

我们知道,计算机所有的信息最终都表示为一个二进制的字符串,每个二进制位(bit)有0和1两种状态。假设字符A对应的二进制为01000010(这个随便编的),存储时,将此二进制串存入计算机;读取时,再将01000010还原成字符A。那么存储时,A到底应该对应01000010,还是10000000、11110101?这个时候就需要一个规则,这个规则可以将字符映射到唯一一种状态(二进制字符串),这就是编码

最早出现的编码规则是ASCII编码,在ASCII编码中,字符A既不对应01000010,也不对应1000 0000、11110101,而是对应01000001(不要问为什么,这是规则)。
在这里插入图片描述

概念理解

位(Bit )

数据存储的最小单位(即0或1),简称为b,也可称为比特

字节(Byte )

存储空间的基本计量单位,是一个8位的存储单元,取值范围是0-255,1Byte = 8bit

字节顺序

多字节的值在内存中的存储顺序,通常有大端(Big Endian)、小端(Little Endian)两种字节顺序。

BOM (Byte Order Mark)

字节顺序标记,出现在文本文件头部,Unicode编码标准中用于标记文件采用哪种合适的编码;

UCS编码中有个‘Zero Width No-break Space/零宽无间断间隔’字符, 它的编码是FEFF,UCS规范我们在传输字节流前,先传输字符‘Zero Width No-break Space’,这样如果接收者收到FEFF,就表明这个字节流是Big-Endian,如果收到FFFE,就表明这个字节流是Little-Endian;

UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式,字符‘Zero Width No-break Space’的UTF-8编码是EF BB BF,如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了;Windows采用BOM来标记文本文件的编码方式;

编码 表示(16进制) 表示(10进制)
UTF-8 EF BB BF
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值