深入理解计算机中的字符

我们都知道计算机中一切都是0和1。那么,我们看到的字符在计算机中是如何表示的那?我们要分成西文字符和中文字符来分别探究。

西文字符

西文字符中拉丁字母、数字、标点以及特殊符号,都视为字符。字符的集合叫做字符集。字符想在计算机中进行处理,就要变成01码,因而就需要对字符进行编码。一个字符对应唯一一个二进制的01序列,所有的这些对应就是码表
目前(写该文时间2017-2-28),西文字符使用最广泛的码表就是ASCII码表
这里要说一下,一个ASCII字符的大小是一个字节(8位),但是,使用了7位二进制数,最头上的一般总是为零。
ASCII码表
从图上我们可以看出
1. 0~9的前三位为011,后四位就是8421码
2. 字母按照字典顺序出现,即a<b<c…… A<B<C……
3. 大写字母的前三位是100和101,小写字母是110和111.即将大写字母的b5位由0改1,那么就可实现大写转小写。

汉字字符

汉字这个就厉害了。
让用户顺利输入:输入码。
让计算机顺利存储:内码。
让计算机顺利显示:字模点阵码。

1.输入码(又叫外码)

有四种输入码:拼音码、拼型码、音型码、序号码。
以前曾好奇 中国人使用的拼音怎么和西方文字这么相像!现在才知道,改革开放就是好。汉语拼音是中华人民共和国的汉字“拉丁化”方案,于1955年—1957年文字改革时被中国文字改革委员会汉语拼音方案委员会研究制定。

2.内码

计算机是如何保存我们的汉字的那。1981年我国出台了GB2312——80。这个标准成为国标码,又叫国际交换码

首先,一个汉字占用两个字节,那么就有14的二进制位来表示一个汉字。GB2312中规定了一个94行、94列的码表。行号是区号(7位),列号是位号(列号)。这样一个字符的区位号凑成14位,这个14位的代码就是区位码

注意了,区位码并不是国标码。由于信息传输原因,区号和位号分别加上32后(20H),才是国标码。但是,这样很难与两个ASCII码进行区分。我们就把国标码的两个字符的最高为从0改成1。

例如:“大”的区号是20、位号是83,那么他的区位码是 14 53H(0001 0100 0101 0011B),加上32(20H)后得到的码是,34 73H(0011 0100 0111 0011B),但是34H和“4”的ASCII相同、73H和“s”的相同,产生混乱。我们再把两个最高位的0设成1,B4 F3H(1011 0100 1111 0011B)就不再出现混乱,即出现国标码了。

随着计算机在亚洲的普及,国际标准ISO/IEC 10646,提出使用两个字节或四个字节来保存一个字符,即UCS-2和UCS-4。后来windows采用中西统一编码,其中搜集了中日韩的约2万字,成为“Unicode”。

3.字模点阵码

每一个把汉字的字形都需要预先存放在计算机中,一套汉字的所有字形信息成为一个字形信息库,简称字库

字形主要有两种描述方式:字模点阵、字形轮廓描述。

字模点整就是使用01矩阵来描述一个字的形状,1的地方是黑色……

字形轮廓描述是使用直线河曲县来描述字的轮廓,即由数学公式描述。精准度极高,且可让字形大小自由变换。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值