分类: 嵌入式
2009-08-06 09:48:22
在ASCII中常用的控制字符包括
人们有时会遇到其他代码的现代用法,如用编码4(传输结束)结束会话或打印机的传输。
编码27(转义)值得详细描述。尽管很多控制字符是从不使用的,将设备控制信息和可打印字符混合传送的概念却非常有用,这使设备制造商得以建立一种可用来传送上百条设备指令的途径。具体来说是使用称为或的一种由多个字符构成的序列。
典型的方式是首先发送编码27提醒设备将后续字符解释为控制序列而非普通的打印文本,之后跟随一个或多个字符指出某个具体的操作,这之后设备会返回到正常解释字符的状态/*即不再将后续字符解释为控制序列*/。例如由编码27后跟随可打印的字符"[2;10H"组成的序列会使一个DEC Digital VT-102终端将光标移动到屏幕第2行的第10个位置。这些序列存在着一些标准,广知的是基于VT-100系列终端的行为的 X3.64 (1979),但在应用中存在大量非标准的变化,特别是在技术进步的速度大大超过任何标准所能追赶的速度的打印机工业领域中。
基于ASCII的上有个标为“”或"Ctrl"(有时也作"Cntl")的键,其用法非常类似于换档键,即与其他字母或符号键一起按下。通过这种方式该控制键生成比同时按下的的大写字母的编码小64的编码/*例如编码为1的CTRL-A是由大写A的编码65减去64而产生*/,从而产生出32个ASCII控制码之一。因此,控制键组合产生的编码字节的8位中,左起第2位(即2的7次方,或64,所对应的位)是强制置零的;否则,当控制键未被按下时,该位则为生成的模板位。例如,按下CTRL和字母G(十进制编码为71,二进制为01000111,通常需要使用视为按下了换档键所产生的大写字母的编码),产生编码7(振铃符,十进制编码7,或二进制00000111)。产生不影响64对应的位上的0的编码的键组合中控制键也应被按下。/*晕!*/
键盘上有些单个键能产生控制码。例如标为“Backspace<%2