【python教程⼊门学习】ASCII码⼀览表,ASCII码对照表
ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是⼀套基于拉丁字母的字符编码,共收录了128 个字符,⽤⼀个字节就可以存储,它等同于国际标准 ISO/IEC 646。
ASCII 规范于 1967 年第⼀次发布,最后⼀次更新是在 1986 年,它包含了 33 个控制字符(具有某些特殊功能但是⽆法显⽰的字符)和95 个可显⽰字符。
matlab教程及实训曹弋答案对控制字符的解释计算机入门自学教程python
网页代码编辑器有哪些ASCII 编码中第 0~31 个字符(开头的 32 个字符)以及第 127 个字符(最后⼀个字符)都是不可见的(⽆法显⽰),但是它们都具有⼀些特殊功能,所以称为控制字符( Control Character)或者功能码(Function Code)。
这 33 个控制字符⼤都与通信、数据存储以及⽼式设备有关,有些在现代电脑中的含义已经改变了。
有些控制符需要⼀定的计算机功底才能理解,初学者可以跳过,选择容易的理解即可。
下⾯列出了部分控制字符的具体功能:
NUL (0)
NULL,空字符。空字符起初本意可以看作为 NOP(中⽂意为空操作,就是啥都不做的意思),此位置可以忽略⼀个字符。
之所以有这个空字符,主要是⽤于计算机早期的记录信息的纸带,此处留个 NUL 字符,意思是先占这个位置,以待后⽤,⽐如你哪天想起来了,在这个位置在放⼀个别的啥字符之类的。
tcpip协议详解分为几层后来呢,NUL 被⽤于C语⾔中,表⽰字符串的结束,当⼀个字符串中间出现 NUL 时,就意味着这个是⼀个字符串的结尾了。这样就⽅便按照⾃⼰需求去定义字符串,多长都⾏,当然只要你内存放得下,然后最后加⼀个\0,即空字符,意思是当前字符串到此结束。
SOH (1)
Start Of Heading,标题开始。如果信息沟通交流主要以命令和消息的形式的话,SOH 就可以⽤于标记每个消息的开始。
1963年,最开始 ASCII 标准中,把此字符定义为 Start of Message,后来⼜改为现在的 Start Of Heading。
现在,这个 SOH 常见于主从(master-slave)模式的 RS232 的通信中,⼀个主设备,以 SOH 开头,和从设备进⾏通信。这样⽅便从设备在数据传输出现错误的时候,在下⼀次通信之前,去实现重新同步(resynchronize)。如果没有⼀个清晰的类似于 SOH 这样的标记,去标记每个命令的起始或开头的话,那么重新同步,就很难实现了。
STX (2) 和 ETX (3)
STX 表⽰ Start Of Text,意思是“⽂本开始”;ETX 表⽰ End Of Text,意思是“⽂本结束”。
通过某种通讯协议去传输的⼀个数据(包),称为⼀帧的话,常会包含⼀个帧头,包含了寻址信息,即你是要发给谁,要发送到⽬的地是哪⾥,其后跟着真正要发送的数据内容。
⽽ STX,就⽤于标记这个数据内容的开始。接下来是要传输的数据,最后是 ETX,表明数据的结束。
⽽中间具体传输的数据内容,ASCII 并没有去定义,它和你所⽤的传输协议有关。
帧头 数据或⽂本内容
SOH(表明帧头开始) …(帧头信息,⽐如包含了⽬的地址,表明你发送给谁等等) STX(表明数据开始) …(真正要传输的数据)ETX(表明数据结束
BEL (7)
BELl,响铃。在 ASCII 编码中,BEL 是个⽐较有意思的东西。BEL ⽤⼀个可以听得见的声⾳来吸引⼈们的注意,既可以⽤于计算机,也可以⽤于周边设备(⽐如打印机)。
注意,BEL 不是声卡或者喇叭发出的声⾳,⽽是蜂鸣器发出的声⾳,主要⽤于报警,⽐如硬件出现故障时就会听到这个声⾳,有的计算机操作系统正常启动也会听到这个声⾳。蜂鸣器没有直接安装到主板上,⽽是需要连接到主板上的⼀种外设,现代很多计算机都不安装蜂鸣器了,即使输出 BEL 也听不到声⾳,这个时候 BEL 就没有任何作⽤了。
BS (8)
BackSpace,退格键。退格键的功能,随着时间变化,意义也变得不同了。
退格键起初的意思是,在打印机和电传打字机上,往回移动⼀格光标,以起到强调该字符的作⽤。⽐如你想要打印⼀个 a,然后加上退格键后,就成了 aBS^。在机械类打字机上,此⽅法能够起到实际的强调字符的作⽤,但是对于后来的 CTR 下时期来说,就⽆法起到对应效果了。
⽽现代所⽤的退格键,不仅仅表⽰光标往回移动了⼀格,同时也删除了移动后该位置的字符。
HT (9)
Horizontal Tab,⽔平制表符,相当于 Table/Tab 键。
⽔平制表符的作⽤是⽤于布局,它控制输出设备前进到下⼀个表格去处理。⽽制表符 Table/Tab 的宽度也是灵活不固定的,只不过在多数设备上制表符 Tab 都预定义为 4 个空格的宽度。
⽔平制表符 HT 不仅能减少数据输⼊者的⼯作量,对于格式化好的⽂字来说,还能够减少存储空间,因为⼀个Tab键,就代替了 4 个空格。LF (10)
Line Feed,直译为“给打印机等喂⼀⾏”,也就是“换⾏”的意思。LF 是 ASCII 编码中常被误⽤的字符之⼀。c语言怎么输入字符串
LF 的最原始的含义是,移动打印机的头到下⼀⾏。⽽另外⼀个 ASCII 字符,CR(Carriage Return)才是将打印机的头移到最左边,即⼀⾏的开始(⾏⾸)。很多串⼝协议和 MS-DOS 及 Windows 操作系统,也都是这么实现的。
⽽C语⾔和 Unix 操作系统将 LF 的含义重新定义为“新⾏”,即 LF 和 CR 的组合效果,也就是回车且换⾏的意思。
从程序的⾓度出发,C语⾔和 Unix 对 LF 的定义显得更加⾃然,⽽ MS-DOS 的实现更接近于 LF 的本意。
现在⼈们常将 LF ⽤做“新⾏(newline)”的功能,⼤多数⽂本编辑软件也都可以处理单个 LF 或者 CR/LF 的组合了。
VT (11)
Vertical Tab,垂直制表符。它类似于⽔平制表符 Tab,⽬的是为了减少布局中的⼯作,同时也减少了格式化字符时所需要存储字符的空间。VT 控制符⽤于跳到下⼀个标记⾏。
说实话,还真没看到有些地⽅需要⽤ VT,因为⼀般在换⾏的时候都是⽤ LF 代替 VT 了。
FF (12)
Form Feed,换页。设计换页键,是⽤来控制打印机⾏为的。当打印机收到此键码的时候,打印机移动到下⼀页。
不同的设备的终端对此控制符所表现的⾏为各不同,有些会清除屏幕,有些只是显⽰^L字符,有些只是新换⼀⾏⽽已。例如,Unix/Linux 下的 Bash Shell 和 Tcsh 就把 FF 看做是⼀个清空屏幕的命令。
CR (13)
Carriage return,回车,表⽰机器的滑动部分(或者底座)返回。
CR 回车的原意是让打印头回到左边界,并没有移动到下⼀⾏的意思。随着时间的流逝,后来⼈们把 CR 的意思弄成了 Enter 键,⽤于⽰意输⼊完毕。
在数据以屏幕显⽰的情况下,⼈们按下 Enter 的同时,也希望把光标移动到下⼀⾏,因此C语⾔和 Unix 重新定义了 CR 的含义,将其表⽰为移动到下⼀⾏。当输⼊ CR 时,系统也常常隐式地将其转换为LF。
SO (14) 和 SI (15)
SO,Shift Out,不⽤切换;SI,Shift In,启⽤切换。
早在 1960s 年代,设计 ASCII 编码的美国⼈就已经想到了,ASCII 编码不仅仅能⽤于英⽂,也要能⽤于外⽂字符集,这很重要,定义Shift In 和 Shift Out 正是考虑到了这点。
最开始,其意为在西⾥尔语和拉丁语之间切换。西⾥尔语 ASCII(也即 KOI-7 编码)将 Shift 作为⼀个普通字符,⽽拉丁语 ASCII(也就是我们通常所说的 ASCII)⽤ Shift 去改变打印机的字体,它们完全是两种含义。
在拉丁语 ASCII 中,SO ⽤于产⽣双倍宽度的字符(类似于全⾓),⽽⽤ SI 打印压缩的字体(类似于半⾓)。python排版word文档
DLE (16)
Data Link Escape,数据链路转义。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论