控制字符
简介
基于ASCII的键盘上有个标为“Control”或"Ctrl"(有时也作"Cntl")的键,其用法非常类似于换档键,即与其他字母或符号键一起按下。通过这种方式使用控制键将生成同时按下的字符键的的ASCII编码字节的7位中,左起的两个字元强制定为0;从而产生出32个ASCII控制码之一。例如,按下CTRL和字母G(十进制编码为71,二进制为01000111),产生编码7(振铃符,十进制编码7,或二进制00000111)。键盘上有些单个键能产生控制码。例如标为“Backspace”的键通常产生编码8,“Tab”是编码9,“Enter”或“Return”是编码13(有些键盘上“Enter”可能是编码10)。键盘上有些键没有对应的ASCII字符或控制字符,例如光标控制键/箭头键和字处理功能键。这些键盘和其所连接的计算机通过三种方法通信:将一些在其他情况下不使用的控制字符定义新的用法、使用其他一些非ASCII的编码、或者使用由多个字符构成的控制序列。连接到独立的个人电脑上的键盘通常用前两种方法之一或两者都用,哑终端通常是使用控制序列。
评价
打印控制字符最先用于控制作为最早的输出设备的打印机的物理机件。回车(CR)意为将字符放置于纸边开始打印处(可能要移动到下一行,也可能不是)。换行(LF)表示将下个字符放置于新行出现的方向上的下一行处(也可能同时要移动到行起始处,也可能不是)。垂直和水平制表(VT/HT)则请求打印机将打印头移动到阅读方向上的下个制表位置。换页(FF)则开始一张新纸。退格(BS)将下个打印位置后退一个字符以便打印机可进行叠打而产生特殊字符(例如在文字下加下划线,在早期的字符打印机上是先打出文字后再用退格符将打印头退后,再叠打出下划线的)。移入(SI)和移出(SO)用于选择替换的字符集、字体、下划线或其他打印模式,然而更常见的是使用其他的转义序列来实现这些目的随着不使用纸张打印、并在字符放置、删除等方面提供了更多灵活性的终端机的出现,打印控制码也进一步适应了这些变化。例如馈页表示清除屏幕而非馈送下一张白纸。人们设计了更复杂的转义序列来应用新终端和新打印机功能的优点。单个字符的控制码已经不够用来支持新外围设备的所有功能了,控制字符和转义序列之间的差别也开始变得模糊。[1]