您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 1.5 计算机数据与编码
11.5计算机数据与编码数据(Data)是指以任何格式表示的信息,一般有文本、数字、图形、图像、音频和视频等多种形式。所谓编码就是数据的表示,表示数据的过程称为编码过程,而表示数据的方法称为编码方案。文件是相关信息的集合,如一首歌、一个文档、一张图片等。计算机的所有数据均以文件的形式存放在存储介质(如硬盘、光盘、U盘等)上。计算机系统以“按名存取”的方法对文件进行读写操作。Windows操作系统按树型结构来组织安排文件。1.5.1编码概述任何数据在用计算机处理(输入、输出、存储、运算等操作)时都需要进行编码,不同类型的数据有不同的编码方案。比如字符在计算机中的表示即为字符编码,汉字在计算机中的表示即为汉字编码,数值在计算机中的表示即为数值编码。同理,表示音频、视频数据也需要相应的编码。由于计算机内部一律采用二进制数,因此对数据进行输入、存储和运算等操作时的编码本质是将数据转换为二进制数,而对数据进行输出操作时的编码本质是将二进制数进行逆向转换。计算机内部采用二进制数的主要原因有以下几点:(1)硬件上容易实现:自然界中许多物质具有稳定的两种状态,如磁盘的正磁化和负磁化,光盘光道的凹和凸,晶体管的导通和截止,电容的充电和放电等。这两种状态恰好可以用来表示二进制数的两个2代码0和1。(2)可靠性高:由于只有两种状态,因此状态转换时不容易出错,抗干扰能力强。(3)运算简单:运算规则很简单,逻辑运算易于实现。1.5.3西文字符编码西文字符包括大小写字母、数字、标点和控制字符等。所谓西文字符编码就是用不同的二进制数分别表示这些字符,其编码方案很多,常用的编码有ASCII码和EBCDIC码。ASCII(AmericanStandardCodeforInformationInterchange,美国标准信息交换代码)用7位二进制数进行编码。由于7位二进制数共有27=128种不同状态,故ASCII码一共可表示128个字符。这些字符包括95个可显示字符(其编码从0100000到1111110)和33个控制字符(其编码从0000000到0011111,以及1111111),具体编码如表1.5.2所示。从ASCII编码表可以确定某个字符的ASCII编码,方法是找出字符所在单元格对应的列、行的二进制数,然后按照b6b5b4b3b2b1b0顺序排放。例如确定字符“A”的ASCII码:查表得字符A所在单元格对应列的二进制数为100(b6b5b4),对应行的二进制数为0001(b3b2b1b0),所以字符“A”的ASCII码为1000001。将ASCII码对应的二进制数转换为十进制数,十进制数的大小称为ASCII编码值,简称为ASCII值。例如字符“A”的ASCII值为65,字符“a”的ASCII值为97,字符“0”的ASCII值为49,字符SP(空格)的ASCII值为32。可见,只需记住字符“A”、“a”和“0”的ASCII值,就可以计算出所有3大小写字母和数字的ASCII编码。计算机存取数据的最小单位是字节,因此ASCII字符在计算机中是用一个字节(8位二进制数)来表示的。一般情况下,字节的最高位为0,低7位表示字符。在某些场合最高位可用做奇偶校验位,此时根据校验的需要最高位可能为0也可能为1。机内码和国标码都占两字节,而机内码和国标码的区别在于机内码的每个字节的最高位是1,而国标码的每个字节的最高位为0.十进制编码(对应)缩写字符(或功能/解释)0NUL(null)空字符1SOH(startofheadline)标题开始2STX(startoftext)正文开始3ETX(endoftext)正文结束4EOT(endoftransmission)传输结束5ENQ(enquiry)请求6ACK(acknowledge)收到通知7BEL(bell)响铃8BS(backspace)退格9HT(horizontaltab)水平制表符10LF(NLlinefeed,newline)换行键11VT(verticaltab)垂直制表符12FF(NPformfeed,newpage)换页键13CR(carriagereturn)回车键14SO(shiftout)不用切换15SI(shiftin)启用切换16DLE(datalinkescape)数据链路转义17DC1(devicecontrol1)设备控制118DC2(devicecontrol2)设备控制219DC3(devicecontrol3)设备控制320DC4(devicecontrol4)设备控制421NAK(negativeacknowledge)拒绝接收22SYN(synchronousidle)同步空闲423ETB(endoftrans.block)传输块结束24CAN(cancel)取消25EM(endofmedium)介质中断26SUB(substitute)替补27ESC(escape)换码(溢出)28FS(fileseparator)文件分割符29GS(groupseparator)分组符30-RS(recordseparator)记录分离符31US(unitseparator)单元分隔符32space空格33!3435#36$37%38&39'40(41)42*43+44,45-46.47/48049150251352453554655756857958:59;60561=6263?64@65A66B67C68D69E70F71G72H73I74J75K76L77M78N79O80P81Q82R83S84T85U86V87W88X89Y90Z91[92\93]94^95_96`97a98b699c100d101e102f103g104h105i106j107k108l109m110n111o112p113q114r115s116t117u118v119w120x121y122z123{124|125}126~127DEL(delete删除)0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10和13分别转7换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。8表1.5.2中部分控制字符的功能如下。NUL:空Esc换码BEL:响铃SP:空格BS:退格Del:删除、作废LF:换行FS:文件分隔符FF:换页ENQ:询问CR:回车ACK:应答通过观察可以发现字符的ASCII值大小存在下列规律:空格数字大写字母小写字母。同类字符的ASCII值是连续的,且相连字符的ASCII值相差1。另一种常用的西文字符编码是EBCDIC(ExtendedBinaryCode9DecimalInterchangeCode,扩充的二十进制交换码)。EBCDIC编码方法与ASCII码类似。EBCDIC码使用8位二进制数进行编码,一共可为256个字符编码。1.5.4汉字编码汉字是象形文字,字数繁多,常用的就有近7000个。与西文字符相比,汉字的编码处理过程比较复杂。输入汉字时用到汉字输入码;计算机内部对汉字进行处理(存储、交换、检索等)时用到汉字内码;输出(显示、打印)汉字时用到汉字字形码。1.汉字国标码常用的汉字字符集是GB2312-80,其全称为信息交换用汉字编码字符集·基本集,1980年发布,1981年5月1日实施,是中国国家标准的简体中文字符集。它所收录的汉字已经覆盖99.75%的使用频率,基本满足了计算机处理汉字的需要,在中国大陆地区和新加坡被广泛使用。GB2312收录简化汉字及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母,共7445个图形字符。其中包括6763个汉字,这些汉字按照使用频率高低分为两级:一级汉字3755个,按汉语拼音排列;二级汉字3008个,按偏旁部首排列。GB2312将所有字符排放在一个94行、94列的二维表格中,并10用01至94分别对行和列依次进行编号,如第一行的行号为01,第94行的行号为94,第94列的列号为94等。其中的行号又称为区号,列号又称为位号,将区号和位号前后排在一块就构成了区位码。例如,“啊”字位于二维表格的第16行第01列,则区位码是1601。区号和位号各加上32就构成了国标码,所以“啊”的国标码为4833。一个国标码占两个字节宽度,每个字节的最高位均为“0”。2.汉字机内码将国标码每个字节的最高位由“0”变成“1”,就得到了汉字机内码。可见,一个机内码也占两个字节,但每个字节的最高位均为“1”,这主要是为了在计算机内部能够区分是汉字编码还是ASCII码。由于(10000000)B=128,所以用下列式子可以计算出机内码:机内码高字节=国标码高字节+128机内码低字节=国标码低字节+128例如,字符“啊”的机内码为(B0A1)H3.汉字输入码为了能直接从键盘上输入汉字,就需要为汉字进行相应的编码。目前常用的汉字输入编码方法可分为数字编码、拼音编码和字形编码。(1)数字编码常用的是区位码和电报码。此类编码的优点是无重码,可实现盲11打;缺点是记忆编码困难,一般用于输入特殊字符。(2)拼音编码拼音编码是以汉语拼音为基础的编码方案,常用的有全拼、双拼、智能ABC等。此类编码的优点是容易学习;缺点是重码率高,不能实现盲打,输入速度慢。(3)字形编码字形编码是根据汉字的形状进行编码,常用的有五笔字型、郑码等。其中,五笔字型编码的优点是重码率低,基本可实现盲打,输入速度快;缺点是需要专门学习编码。4.汉字字形码汉字字形码通常有两种表示方式:点阵表示方式和矢量表示方式。用点阵表示字形时,汉字字形码指的就是该汉字字形点阵的代码。根据输出汉字质量要求的不同,点阵的多少也不同,如16×16点阵、24×24点阵、32×32点阵等。点阵规模越大,字形越清晰美观,但所占存储空间也越大。如24×24点阵,每个汉字的字形码就要占用24×24/8=72B,一级汉字和二级汉字的字形码共需占用476KB。汉字字库中存储了每个汉字的点阵代码,当输出时才检索字库得到字形。矢量表示方式存储的是描述汉字字形的轮廓特征,输出汉字时才通过计算机计算生成所需大小和形状的汉字点阵。Windows中使用的TrueType技术就是矢量表示方式。点阵表示方式和矢量表示方式的区别:前者编码和存储简单,无12须转换直接输出;但输出效果较差,不同的点阵需要不同的字库。矢量表示方式的特点刚好与点阵表示方式相反。5.其它汉字编码汉字编码除了GB2312码外,常用的还有GBK码、BIG5码、Unicode码。(1)GBK码GBK字符集是GB2312的扩展,GBK1.0收录了21886个符号,分为汉字区和图形符号区,汉字区包括21003个字符。GBK字符集主要扩展了对繁体中文字的支持。我国于2000年发布了新的汉字编码国家标准GB18030-2000。该标准采用单/双/四字节混合编码,字符总编码空间超过150万个编码位,收录了27484个汉字,覆盖中文、日文、朝鲜语和中国少数民族文字。满足中国大陆、中国香港、中国台湾、日本和韩国等东亚国家和地区多文种信息交换、大字量、多用途、统一编码格式的要求。(2)BIG5码BIG5码又称为大五码或五大码,是目前中国台湾、香港地区普遍使用的一种繁体汉字编码标准。BIG5码用2个字节表示1个汉字,共收录了13000多个汉字。(3)Unicode码Unicode码是一个国际编码标准,采用双字节编码,统一且唯一13地表示世界上主要的文字,一共可为65534个字符编码,其中包括符号6811个,汉字2092个。
本文标题:1.5 计算机数据与编码
链接地址:https://www.777doc.com/doc-3223771 .html