考研笔记-计算机之计算机组成原理:存储器(数据编码方法)
- 2026-09-14 23:41:25
——如阅读体验不佳,可转为横屏阅读;如微信无法横屏,可尝试文末方法。
表-ASCII码 | ||
ASCII码定义 | 分类 | |
ASCII(7位)码使用7位二进制码表示一个字符 | 控制字符(33个) | |
可打印字符(95个) | 数字(10个) | |
字母(52个) | ||
符号(33个) | ||
说明: 1) 95个可打印字符的输入是通过键盘上的47(10个数字键、26个字母键和11个符号键)个字符键(每个字符键代表两个字符)和shift键联合控制,外加1个空格键共同实现的。 |
表-BCD码 | ||
BCD码定义 | BCD码种类 | 表示方式 |
用4位二进制码表示1位十进制数 | 8421码(NBCD码) | 8421码每位的权与将该码当作二进制数时的各位的权完全相同 |
2421码 | 2421码从高位到低位每位的权分别为2、4、2、1 | |
5211码 | 5211码从高位到低位每位的权分别为5、2、1、1 | |
余3码 | 若将每一个余3码看作一个4位二进制数,则它的数值比它所表示的十进制数的值大3 |
表-Base64码 | |
Base64码编码原理 | 对于任意的二进制文件,可用base64编码。Base64编码,首先将二进制代码划分为一个个24(24为8(原始数据按8位(1字节)为单位存储)和6(编码时按6位为单位映射成可打印字符)的最小公倍数)位长的单元,然后将每一个24位单元划分为4个6位组,最后将每一个6位组转换为一个ASCII码。6位二进制代码共有64中不同的值(0-63),故称Base64码。 |
Base64码编码方式 | 1) 用“A-Z、a-z、0-9、+、/”按序依次表示0-63; 2) 用“==”和“=”分别表示最后一组的代码只有8位或16位(即每缺1个字节补1个“=”,原始数据中是补bit0); 3) 回车和换行都忽略,它们可在任何地方插入。 |
表- Quoted-printable码 | |
Quoted- printable码编码原理 | 对于任意的二进制文件,可用Quoted-printable编码。Quoted-printable编码将二进制数据中每一字节的二进制代码编码为可打印字符。 |
Quoted- printable码编码方式 | 对于每一字节的二进制代码执行以下转换: 1) 若该字节为可打印的ASCII码(等号“=”除外),不做改变(即编码前后相同); 2) 若该字节为等号“=”和不可打印的ASCII码及非ASCII码,则先将该字节的二进制代码用两个十六进制数字表示,然后再在这两个十六进制数字前面添加一个等号“=”; |
表-汉字编码 | |||
编码类型 | 输入码(外码) | 机内码(内码) | 字形码(字模码) |
编码作用 | 汉字输入 | 汉字存储 | 汉字输出 |
表-BER码(Basic Encoding Rule) | |||||||||||||||
BER编码原理 | BER编码依据ASN.1标准。ASN(Abstract Syntax Notation,即抽象语法记法)只描述数据的结构形式且与具体的编码格式无关,同时也不涉及这些数据结构在计算机内如何存放。ASN.1的记法很严格,它使得数据的含义不存在任何可能的二义性。BER是对ASN.1的一种具体实现,指明了每种数据的类型和值。在发送端用BER编码,可把用ASN.1所表述的报文(ASN.1也定义报文的结构)转换成唯一的比特序列;在接收端用BER解码,就可得到该比特序列所表示的报文。 | ||||||||||||||
BER编码方式 | 编码格式 | BER编码格式如下:
ASN.1将所有的数据元素都表示为T-L-V三个字段组成的序列。 | |||||||||||||
字段说明 | 标记T | T字段一般占1个字节,用于定义数据的类型。T字段又分为3个子字段:类别、格式和编号 | |||||||||||||
类别 | 类别占2位,共有四种,指出数据类型的范畴:通用类(00),即ASN.1定义的类型;应用类(01),即具体应用定义的类型;上下文类(10),即上下文所定义的类型;专用类(11),保留为特定厂商定义的类型; | ||||||||||||||
格式 | 格式占1位,共有两种,指出数据类型的种类:简单数据类型(0)和结构化数据类型(1) | ||||||||||||||
编号 | 编号占5位,用于标志不同的数据类型。编号的范围一般为0-30,当编号大于30时,T字段就要扩展为多个字节(该情况很少用到) | ||||||||||||||
长度L | L字段可为单字节或多字节,用于定义V字段的长度(单位为字节)。当L字段为单字节时,其最高位为0,后面的7位定义V字段的长度;当L字段为多个字节时,其最高位为1,而后面的7位定义后续字节的字节数(用二进制整数表示),所有的后续字节并置起来的二进制整数定义V字段的长度 | ||||||||||||||
值V | V字段的长度由L字段定义,用于定义数据元素的值。V字段还可以嵌套其他数据元素的TLV字段,并可多重嵌套 | ||||||||||||||
BER编码应用 | 简单网络管理协议SNMP中的管理信息结构SMI (Structure of Management Information)采用BER编码对对象和对象的值进行编码 |
文章合集:
点击下方公众号主页,关注以阅读更多文章
——可选择“【右上角···】→【在浏览器中打开】”进行横屏阅读。