RFC20 用于网络交换的ASCII格式
来源:互联网 发布:考勤系统数据读不出 编辑:程序博客网 时间:2024/06/05 20:48
RFC20 用于网络交换的ASCII格式
标签(空格分隔): RFC
@author : duanxxnj@163.com
@time : 2017-02-15
ASCII format for Network Interchange
用于网络交换的ASCII格式
- RFC20 用于网络交换的ASCII格式
- 使用范围
- 标准编码
- 字符表示和编码定义
- 图例
- 1 控制符
- 2 图形化符号
- 定义
- 1 字符综述
- 2 控制字符
一句话,我们建议使用标准的7位ASCII编码,并通过高位补0的方式,将7位ASCII编码扩展成为8bit,以得到一个完整的字节。这样在主机之间做基本连接的时候,就可以直接使用USAS X3, 4-1968中已定义好的标准编码。一行字符的结束字符是由远程主机定义的,例如,SRI使用”.”(ASCII X’2E’ 或者 2/14)来作为行的结束字符,而UCLA则使用 “回车”(X’OD’ 或者 0/13)作为行的结束字符。
注:SRI是一个研究机构;UCLA是加利福尼亚大学洛杉矶分校。可以看出,当初网络刚开始兴起的时候,基本的字符编码还并没有统一,所以才会有这篇文章,用于统一字符编码,以及一行字符的结束符。这篇文章是UCLA于1969年提出的,所以后后来使用的就是“回车”了
-
注: 关于“回车”(carriage return)和“换行”(linefeed)这两个概念很有意思。在计算机还没有出现之前,有一种叫做电传打字机的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行,这就是“换行”和“回车”的来历。
后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。Unix系统里,每行结尾只有“换行”,即“<\n>”;Windows系统里面,每行结尾是“ <回车><换行>”,即“\r\n”;Mac系统里,每行结尾是“<回车>”,一直沿用至今
USA Standard Code for Information Interchange
美国信息技术标准编码(ASCII)
1 使用范围
本字符编码集用在各信息处理系统、通讯系统及相关设备之间的一般信息交换上。
2 标准编码
注:由于ASCII编码的最高位并没有被使用,所以也有一些基于ASCII扩展的编码方式,比如扩展了“僧伽罗语”的编码,就是使用了最高位做了编码扩展。
3 字符表示和编码定义
标准的7位字符编码定义:
字符
—————–
字符在ASCII码表中的位置,也可以作为字符的表示方式,还是字符
编码表中的
上面的编码表可以简写为:ASCII或者USASCII
ASCII(发音为as’-key)、USACII(发音为yous s as’-key)的具体意义,通常是由其最新的编码标准确定,为了明确的指明一个编码标准,一般会在其后添加两个数字,以代表该编码方式发布的年份,比如:“ASCII 63”或“USASCII 63”。
注:现在所使用的ASCII编码最终确立于1968年,然后再没有改变过,也就是“ASCII 67”
4 图例
注:图例的英文原文是“Legend”,这里将其翻译为图例并不好,但是我没有想到更好的翻译,暂且先用这个
4.1 控制符
注:这里主要是对标准编码中的代码做基本解释
[注1]:严格意义上讲,DEL不是一个控制符
4.2 图形化符号
[注2]:对于 2/2, 2/7, 2/12, 5/14, 6/0,7/14 这几个位置上的符号,有另外的使用方法,参见附录A, A5.2
[注3]:在发送方和接收方没有达成统一的情况下,这些符号不可以用于国际交流。(见附录B4)
[注4]:在不需要使用#的应用中,2/3可以代表英镑
5 定义
注:这一节是对上一节的符号意义的详细说明
5.1 字符综述
(CC)Communication Control 通信控制符:功能性字符,用于控制或者协助网络进行信息传输。
(FE)Format Effector 格式控制符 : 功能性字符,用于控制信息在显示设备上的位置和布局。
(IS)Information Separator 信息分隔符 : 功能性字符,用于对信息进行分隔和限制,让信息合乎逻辑,这种字符一共有四个,这四个字符之间具有层次关系。
5.2 控制字符
NULL(Null): 空字符,是一个所有位全为0的字符,在通信过程中,这个字符可用于时间填充(time fill)和介质填充(media fill)。
注:没有理解什么是时间填充和介质填充
SOH(Start Of Heading):头信息开始标识符,是一种通信控制字符。所谓头信息,指的是由机器可识别地址或者路由信息组成的字符串。STX的作用是头信息结束标识符。
STX(Start of Text):文本信息开始标识符,是一种通信控制字符。所谓文本信息,指的是一个被看做为信息实体,并完整的传输到最终目的地的字符串。一般来说,文本信息被称为”text.”。由于文本信息前面是头信息,所以STX也可以认为是以SOH开始的头信息的结束符。
ETX(End of Text):文本信息结束标识符,是一种通信控制符。用于表示以STX开头的文本信息的结束。
EOT(End of Transmission):传输结束标识符,是一种通信控制符。用于表述一次数据传输的结束,一次数据传输可能包含不止一个文本信息以及其对应的头信息。
注:基于上面这四个通信控制符基本上可以确定,网络通信过程中一个基本的数据传输单元,以SOH开头,以ETX结束,如下图所示,而一次数据传输中可以有多个基本数据传输单元。
———-
ENQ(Enquiry):查询符,是一种通信控制符。准确的说,这个符号代表的意思是“请求(request)”,起作用是向远程主机请求数据,一般请求之后是等待应答。这里请求的内容非常的广泛,比如“WRU(who are you)”请求,其作用是识别远程主机,也可能是用于查询远程主机的状态,也可能同时表示两种功能。
ACK(Acknowledge):肯定应答符,是一种通信控制符。ACK是主机作为信息接收方,在准确的接收到数据之后,向信息发送方返回的一个应答消息是所使用的控制符,并且其代表的意思是肯定应答,即数据接收正常。
BEL(Bell):当主机出现某些特殊情况,需要人工处理的时候,就会使用这个符号(或者叫做指令),它可以控制警铃(或者其他的可以引起人注意的设备) 来引起人的注意。
BS(Backspace):退格符,是一种格式控制符。 让字符打印位置后退一个打印字符的空间,这个后退操作只能在同一行中执行。退格符在显示设备中也可以使用。
HT(Horizontal Tabulation):水平制表符,是一种格式控制符。让字符打印位置水平向前移动到下一个预先设定好的位置,每一行中可以有多个预先设定好的位置。水平制表符在显示设备和打孔机中也可以使用。
LF(Line Feed):换行符,是一种格式控制符。让字符打印位置移动到下一个打印行,换行符在显示设备中也可以使用。在某些情况下,换行符代表的意思可以是控制符:“新行”(NL),新行符指的是让字符打印位置移动到下一个打印行,并且是下一打印行的第一个字符打印位置,这需要发送方和接收方共同约定才能使用。
- VT(Vertical Tabulation):垂直制表符,是一种格式控制符。
- RFC20 用于网络交换的ASCII格式
- RFC20_用于网络交换的 ASCII 格式
- IOS 之 网络通信数据交换格式
- ASCII格式的16进制字符串转到ASCII字符串
- 交换网络的路由技术
- 移动的交换网络分类
- javascript:用于检查日期格式的函数
- 用于转换PDF格式的转换器
- 网络程序间数据交换格式——前言
- 编写一个函数,用于交换两个变量的值
- Jsp用于交换数据的4个map结构
- Protocol Buffers:Google 的数据交换格式
- JSON - 轻量级的数据交换格式
- Android中常用的数据交换格式
- JSON:一种轻量级的数据交换格式
- 数据交换格式的思考和学习
- JSON:一种轻量级的数据交换格式
- JSON --- 一种轻量级的数据交换格式
- hibernate延迟加载(get和load的区别)
- 计算机网络基本概念
- Web前端学习(5)_DOM编程
- RFC说明
- 创建随机长度链表并显示
- RFC20 用于网络交换的ASCII格式
- mysql 分表 分区
- 虚拟机虚拟网卡断网问题排查处理
- poj1182
- Windows 下 PyQt4 的安装
- How to Upgrade Linux Kernel to Stable 3.18.4 on CentOS 7.x
- Chapter fourteen ARM概述(1)
- 排序算法-----冒泡排序简单介绍
- 7.1 Hibernate:内置生成器 -- assigned