由于计算机要处理的数据信息十分庞杂,有些数据库所代表的含义又使人难以记忆。为了便于使用,容易记忆,常常要对加工处理的对象进行编码,用一个编码符合代表一条信息或一串数据。对数据进行编码在计算机的管理中非常重要,可以方便地进行信息分类、校核、合计、检索等操作。因此,数据编码就成为计算机处理的关键。即不同的信息记录应当采用不同的编码,一个码点可以代表一条信息记录。人们可以利用编码来识别每一个记录,区别处理方法,进行分类和校核,从而克服项目参差不齐的缺点,节省存储空间,提高处理速度。
今天
沈阳网站开发就来和大家一起聊聊网站建设常用到的数据编码。
1.数字编码(BCD编码)
数字在计算机中除了通过进制转换为二进制外,还有一种比较重要的编码形式,即BCD码,BCD是Binary-Coded-Decimal 的缩写。BCD码有多重编码方案,但最常用的是8421码。它将1位十进制数用4位二进制数来表示,而4位二进制数各位权值由高到低一次是2³、2²、2¹、2º,即8、4、2、1、,故称之为8421码。十进制数与BCD码的对应关系如表1.2所示。
注意:BCD码并不能直接转换成二进制,而应该先转换成十进制,再转换成二进制。
2.西文字符编码
对于系文字符编码最常用的是ASCⅡ字符编码,即American Staddard Code for Information Interchange(美国信息交换标准代码),已被国际标准化组织(ISO)定为国际标准。
ASCⅡ码分为标准ASCⅡ码和扩展ASCⅡ码,两者的区别在于用来编码的位数不同,前者有7个二进制代码组成,因此共可以表示2 ,即128个字符,如表1.3所示。
ASCⅡ码的每个字符由7位二进制表示,其排列顺序为d6d5d4d3d2d1d0,其中,d6、d5、d4为高危,d3、d2、d1d0.在计算机内部,存储与操作都是以字节为单位,一个字节有8个位,因此,一个字符在计算机内实际用8位表示。真长情况下,最高以为d7为“0”。在需要奇偶校验时,这意味可用于存放奇偶校验的值,此时称这意味为校验位。
我们可以通过查阅ASCⅡ表来确定某个字符的ASCⅡ码,方法是在表中找到字符的位置,然后确定它所在位置的列和行,根据列确定高位码,根据行确定低位码,再将他们合并在一起就是该字符的ASCⅡ码。如,字母A所在的列码是100,行所在的码是0001,那么字母A的ASCⅡ是1000001,转换为十进制是65.
ASCⅡ码是128个字符组成的字符集。其中编码值0~31(0000000~0011111)不对应任何可印刷字符,通常称为控制符,用于计算机通信中的通信控制或对计算机设备的功能控制。编码值为32(0100000)的死字符SP。编码指为127(1111111)的是删除控制DEL码……其余94个字符为可印刷字符。
西文字符除了常用的ASCⅡ编码外,还有另一种EBCDIC(Extended Binaey Coded Decimal Interchange Code,扩展的二一十进制交换码)码。这种字符编码主要用在大型机器中。EBCDIC采用8位基2码表示,有256个编码状态,但是选用其中一部分。
3.汉字编码
ASCⅡ码只对引文字母、数字和标点符号进行了编码。为了用计算机处理汉汉字,同样需要对汉子进行编码。由于汉字是象形文字,种类繁多,编码困难一些,在汉字处理系统中,输入、内部处理、输出环节对汉字编码的要求也不尽相同,因此汉字信息处理系统在处理汉字和词语是,要进行一系列的汉字代码转换。如图1.4所示。
(1)输入码
输入码是为将汉字输入计算机而变质的代码,也称为外码。目前输入码的方案有上百种之多,按照不同的设计思想,可分为数字编码、拼音编码、字形编码、和音形编码四类,其中最常用的有拼音编码和字形编码
①数字编码时用等长的数字串为汉字注意编号,以这个编号作为汉字的输入码。
②拼音编码时以汉字的读音为基础的输入法。
③字形编码时以汉字的字形结构为基础的输入编码。
④音形码是兼顾汉字的读音和字形的输入编码。
(2)交换码
交换码用于汉字输入码和内部码的交换。1981年,我国颁布了代号为GB231280《信息交换使用汉字编码字符集基本集》的汉字编码字符集,是中文信息处理的国家标准,是交换码的标准,所以交换码也称为国标码。该标准包含汉字6763个,图形符号682个。
国标码是双字节代码,即用两个字节为汉字编码,第一个字节表示区码,第二个字节
表示位码。
(3)内部码
内部码(简称内码)是汉字在计算机内的基本表示形式,是计算机机对汉字进行识别、存储、处理和传输所用的编码。
(4)字形码
字形码是为了解决汉字的显示和打印等输出问题而进行的编码。汉字的字形码表示汉字字形的字模数据,又称汉字字模。字模通常有点阵和矢量两种汉字字形码,它是汉字的输出形式。点阵字模将汉字看作由许多点组成的图形,这些点构成点阵。点阵字形码使用方便、易于理解,但不同大小的字形需要不同的点阵库,且字形放大时容易产生锯齿状失真。矢量字形码用数学曲线捕述,字体中包含了符号边界卜的关键点,连线的导数信息等。矢量字体的特点是可以无限放大或缩小。