计算机基础2

一 数据的表示与处理
1数值数据(见计算机基础1→7)
2字符数据
(1)编码发展史
如果我们用一个二进制数字表示一个字符,比如说用“0100 0001”来表示A。根据这个对应关系,我们制作一个表格,这个表格里一个二进制数字对应一个字符。这就是编码。这套编码叫ASCII(美国(国家)信息交换标准(代)码)最多之可以表示256个字符。如果有其他的字符就无能为力了。ASCII只能表示26个基本的拉丁字母、阿拉伯数字和英式标点。因此也只能用于显示现代美国英语。后来计算机世界开始有了其他语言,ASCII码已经无法满足需求。不同语言的人各自为自己定制了一套属于自己的编码,同时与ASCII保持兼容。这些编码统称MBCS。但是有些编码之间还不兼容,所有的语言都使用同一种编码,这种编码就是Unicode。 Unicode使用最少2个字节(1个字节=1BYTE=8bit=一个长度为8的二进制数) 来表示字母和符号等,有时候是4个字节。如果我要表示一个ASCII里的字符,使用unicode来表示不是太浪费空间了吗,于是就有人想出了另外一种解决方案——UTF-8。UTF-8是对Unicode编码的压缩和优化,最大的特点是它采用了变长的编码方式,他不再是最少使用2个字节,而是将所有的字符进行分类。ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存…
UCS(计算系统)规定了怎么用多个字节表示各种文字。怎样传输这些编码,是由UTF(UCS Transformation Format)规范规定的,常见的UTF规范包括UTF-8、UTF-7、UTF-16。UTF-8就是以8位为单元对UCS进行编码,UTF-16以16位为单元对UCS进行编码。UTF-8以字节为编码单元,没有字节序的问题。UTF-16以两个字节为编码单元,在解释一个UTF-16文本前,首先要弄清楚每个编码单元的字节序。例如收到一个“奎”的Unicode编码是594E,“乙”的Unicode编码是4E59。如果我们收到UTF-16字节流“594E”,那么这是“奎”还是“乙”?

猜你喜欢

转载自blog.csdn.net/wangzijunn/article/details/82989202