预习非数值数据的编码方式

1.非数值数据的编码表示

1.逻辑值
定义:逻辑值是计算机语言,意为逻辑状态下赋予的真或者假。逻辑值有两种情况:成立和不成立。成立的时候我们说逻辑值为真,使用True或1表示,不成立的时候我们说逻辑值为假,使用false或0表示。在程序设计里面,一般关系运算符的结果、逻辑运算符运算的结果都是逻辑值。
逻辑数据和数值数据都是一串0/1序列,在形式上无任何差异,需要通过指令的操作码来识别它们。
2.西文字符
ASCII码在计算机中可以bai表示所有的西文字符。
西文由拉丁字母、数字、标点符号及一些特殊符号所组成,他们统称为字符。
ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。
其中:
0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。
32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。
65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。
后128个称为扩展ASCII码。许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号
ASCII码表

3汉字字符
为适应汉字系统各组成部分都汉字信息处理的不同需要,汉字系统必须处理一下几种汉字代码:输入码、内码、子模点阵码。
汉字的输入码:汉字输入码也称外码,是为将汉字输入到计算机设计的代码。汉字输入码种类较多,选择不同的输入码方案,则输入的方法及按键次数、输入速度均有所不同。综合起来,汉字输入码可分为流水码、拼音类输入法、拼形类输入法和音形结合类输入法几大类。
汉字被输入到计算机内部后,就按照一种称为内码的编码形式在系统中进行存储、查找、传送等处理。对于西文字符,它的内码就是ASCII码。
对于汉字内码的选择,必须考虑以下几个因素:
1.不能有二义性,即不能和ASCII码有相同的编码。
2.要与汉字在字库中的位置有关系,以便于与汉字的处理、查找。
3.编码应尽量短。

2.数据的宽度与储存

1.数据的宽度和单位
计算机内部任何信息都被表示成二进制编码形式。
每个西文字符需要用八个比特表示,而每个汉字需要用十六个比特才能表示。
计算机中运算和处理二进制信息时使用的单位除了比特和字节之外,还经常使用字为单位。
2.数据的存储和排列顺序
任何信息在计算机中用二进制编码后,得到的都是一串0/1序列,每8位构成一个字节,不同的数据类型具有不同的字节宽度。
在所有计算机中,多字节数据都被存放在连续的字节序列中。
数据以某种格式记录在计算机内部或外部存储介质上。
数据存储对象包括数据流在加工过程中产生的临时文件或加工过程中需要查找的信息。
据存储反映系统中静止的数据,表现出静态数据的特征。

3.数据校验码

数据在计算机内部进行计算、存取和传送过程中,由于元器件故障或噪音干扰等原因会出现差错。为了减少和避免这些错误,一方面要从计算机硬件本身的可靠性入手,在电路、电源、布线等各方面采取必要的措施,提高计算机的抗干扰能力;宁一方面要采取相应的数据检错和校正措施,自动地发现并纠正错误。
奇偶校验码是一种增加二进制传输系统最小距离的简单和广泛采用的方法。是一种通过增加冗余位使得码字中"1"的个数恒为奇数或偶数的编码方法,它是一种检错码。在实际使用时又可分为垂直奇偶校验、水平奇偶校验和水平垂直奇偶校验等几种。
海明校验码,它的实现原理,是在k个数据位之外加上r个校验位,从而形成一个k+r位的新的码字,使新的码字的码距比较均匀地拉大。把数据的每一个二进制位分配在几个不同的偶校验位的组合中,当某一位出错后,就会引起相关的几个校验位的值发生变化,这不但可以发现出错,还能指出是哪一位出错,为进一步自动纠错提供了依据。只要增加少数几个校验位,就能检测出二位同时出错、亦能检测出一位出错并能自动恢复该出错位的正确值的有效手段,后者被称为自动纠错。
每一个数据为至少要参与两组奇偶校验位的生成。
循环冗余校验码(CRC),简称循环码,是一种常用的、具有检错、纠错能力的校验码,在早期的通信中运用广泛。循环冗余校验码常用于外存储器和计算机同步通信的数据校验。奇偶校验码和海明校验码都是采用奇偶检测为手段检错和纠错的(奇偶校验码不具有纠错能力),而循环冗余校验则是通过某种数学运算来建立数据位和校验位的约定关系的。
CRC码的纠错:当接收方将收到的CRC码用约定的生成多项式G(x)去除,发现余数不为0时,需要判断出错的位置。不同的出错位置其余数不同,而且对于不同的码字,在确定的码制与生成多项式下,只要出错位置相同,则余数一定相同。

原文地址:https://www.cnblogs.com/ztnb/p/13687568.html