ASCII终端ANSI标准摘要 Joe Smith, 18-May-84 () 内容: 1. 概述和定义 2. 解释ESCape序列的一般规则 3. 控制序列解释的一般规则 4. C0和C1控制代码按数字顺序排列 5. 按数字顺序排列的两个和三个字符的ESCape序列 6. 按数字顺序排列的控制序列 7. VT100仿真要求 VT100用户指南和ANSI标准X3.64-1979均列出了ANSI ESCape 按助记符的字母顺序排列,但没有交叉按ASCII码顺序引用。本文列出了所有组合按数字顺序列出的三个ANSI标准的定义。用于说明关于使用这些标准的优点,请参阅文章“Toward 《BYTE》杂志1984年4月号的“标准化视频终端”。 ANSI X3.4-1977定义了7位ASCII字符集(C0和G0)。它被 写于1968年,修订于1977年,解释了在布局中所做的决定 ASCII码。特别是,它解释了为什么ANSI选择制作ASCII 与EBCDIC不兼容,以便使其自洽。 ANSI X3.41-1974介绍了8位ASCII字符集(C1和G1的概念 除了现有的C0和G0)。它描述了如何使用8位 在7位环境中具有功能。X3.41定义了所有ESCape的格式 序列,但仅定义带有参数字符的3个字符的序列 中间部分。这些指令指导终端如何解释C0、G0、C1, 以及G1角色(例如通过选择不同的字符集ROM)。 注:NAPLPS通过重新定义C1集来实现视频图形 选择备用的G0、G1、G2和G3集。 详情请参见1983年2月的BYTE杂志。 ANSI X3.64-1979定义了其余的ESCape序列。它定义了所有的C1 控制字符,并指定某些两个字符的ESCape序列 在7位环境中,其行为与8位C1控制集完全相同。 X3.64介绍了控制序列的概念,它以CSI开始 字符,长度不定,以字母结尾 VT100是第一个实现这一功能的终端之一 标准 定义: 控制字符-一个具有ASCII代码的单个字符,其范围为 000至037和200至237八进制,00至1F和80至9F十六进制。 Escape Sequence -以Escape开头的两个或三个字符的字符串。 (允许四个或更多个字符串,但未定义。) 控制序列-以CSI (233八进制,9B十六进制)开头的字符串或 使用ESCape左括号,并以字母字符结束。 任意数量的参数字符(数字0到9、分号和 问号)可能出现在控制序列中。终止 字符前可以有一个中间字符(如空格)。 字符分类: C0控制 00-037八进制,00-1F十六进制(G0为041-176八进制,21-7E十六进制) 空间 040+240八进制,20+A0十六进制,始终在任何地方使用空格 中等 040-057八进制,20-2F十六进制!“#$%&‘()*+,-./ 参数 060-077八进制,30-3F十六进制0123456789:;<=>? 大写 100-137八进制,40-5F十六进制@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ 小写 140-176八进制,60-7E十六进制`abcdefghijlkmnopqrstuvwxyz{|}~ 字母排序 100-176八进制,40-7E十六进制(包括大写和小写) 删除 177八进制,7F十六进制,始终和到处被忽略 C1控制 200-237八进制,80-9F十六进制32个附加控制字符 G1可显示 241-376八进制,A1-FE六进制94个附加可显示字符 特殊的 240+377八进制,A0+FF十六进制与空格和删除键相同 请注意,在本文中,术语大写、小写和字母表 包括比A到Z更多的字符。 ------------------------------------------------------------------------------ 解释ESCape序列的一般规则: ESCape序列以ESC字符(033八进制,1B十六进制)开始。 ESCape序列的长度取决于紧接其后的字符 跟随ESCape。 如果下一个角色是 C0控制: 先解释它,然后继续处理ESCape序列。 示例:CR、LF、XON和XOFF在ESCape序列中正常工作。 中间体:预期零个或多个中间体,参数终止 一个私有函数,一个字母终止一个标准序列。 示例:ESC ( A定义标准字符集,ESC ( 0定义DEC集合。 参数: 私有2字符转义序列的结束。 示例:ESC =设置特殊键盘模式,ESC >清除该模式。 大写: 将其转换为C1控制字符并对其采取行动。 示例:ESC D向下索引,ESC M向上索引。(CSI是特殊的) 小写: 标准的2个字符转义序列的结尾。 示例:ESC c重置终端。 删除: 忽略它,并继续解释ESCape序列 C1和G1: 将其与7位对应的设备同等对待 请注意,CSI是两个字符序列ESCape左括号或8位 C1代码为233八进制,9B十六进制。CSI引入了一个控制序列, 直到接收到一个字母字符为止。 控制序列解释的一般规则: 1)从CSI开始,即控制序列引入器。 2)包含任意数量的参数字符(0123456789:;<=>?)。 3)以字母字符结尾。 4)中间字符(如果有)紧接在终止符之前。 如果CSI之后的第一个字符是“<=>?”(074-077八进制,3C-3F十六进制), 然后控制序列将根据私有标准进行解释(例如 设置和重置模式未由ANSI定义)。终端应 可包含任意数量的数字参数,用分号分隔(073八进制, 3B hex)。只有在接收到终止字母字符后才应 终端对控制序列的作用。 ============================================================================= C0组7位控制字符(来自ANSI X3.4-1977)。 十月的Hex名称* (*表示DEC VT系列或LA系列终端中使用的功能) --- -- - --- - -------------------------------------------------------------- 000 00 @ NUL * 无填充符,终端应忽略此字符 001 01 A船舶 标题开始 002 02 B STX 文本开始,隐含的标题结束 003 03 C ETX 文本结束,导致某些终端以ACK或NAK响应 004 04 D EOT 传输结束 005 05 E ENQ * 查询,使终端发送应答-BACK ID 006 06 F ACK 确认,通常由终端发送以响应ETX 007 07 G BEL * 贝尔,触发终端上的铃声、蜂鸣器或哔哔声 010 08 H BS * Backspace,可用于定义重叠字符 2011年9月1日* 水平制表,移动到下一个预定位置 012 0A J LF * 进给,移动到下一行的同一位置(另见NL) 013 0B K VT * 垂直制表,移动到下一个预设行 014 0C L FF * 表单输入,转到下一个表单或页面 015 0D M CR * 回车,移动到当前行的第一个字符 2016年0月e日 移出,切换到G1(字符集的另一半) 017 0F O SI * Shift In,切换到G0(字符集的正常半部分) 020 10 P DLE 数据链路逃逸,对下一个控制字符进行特殊解释 021 11 Q XON * (DC1)终端允许恢复发送 022 12 R DC2 器械控制2,使ASR-33激活纸带阅读器 023 13 S XOFF* (DC2)终端必须暂停并停止发送 024 14 T DC4 设备控制4,导致ASR-33停用纸带阅读器 025 15 U NAK 负面确认,有时与ETX和ACK一起使用 026 16 V SYN 同步空闲,用于同步通信中保持定时 027 17 W ETB 传输结束块 030 18 x可* 取消(使VT100中止当前的逃生序列,如果存在的话) 031 19 Y EM 介质结束 032 1a z子* 替代品(VT100使用此功能显示奇偶校验错误) 033 1B [ ESC * ESCape序列的前缀 034 1C \ FS 文件分隔符 035 1D ] GS 组别分隔符 036 1E ^ RS * 记录器分离器(由VT132以块传输模式发送) 037 1F _美国 单元分离器 040 20 SP * 空间(不应被定义为其他) 177 7F 删除* 删除,终端应忽略 ============================================================================== C1组8位控制字符(来自ANSI X3.64-1979) 十月的Hex名称* (*表示DEC VT系列或LA系列终端中使用的功能) --- -- - --- - -------------------------------------------------------------- 200 80 @ 预留用于未来标准化 201 81 A 已保留 202 82 B 已保留 203 83 C 已保留 204 84 D IND * 无论NL如何,索引均在同一列中向下移动一行 205 85 E NEL * NEw Line,移动一行并移到第一列(CR+LF) 206 86 F SSA 选定区域的起始位置将发送到辅助输出设备 207 87 g ESA 选定区域的结束将发送到辅助输出设备 210 88 H HTS * 在当前位置设置水平表格 211 89 i HTJ “制表符对齐”选项,将字符串移动到下一个制表符位置 212 8A J VTS 在当前行设置垂直表格 213 8B K PLD 部分线下降(下标) 214 8C L PLU 部分阵容(上标) 215 8D M RI * 反向索引,向上移动一行,必要时反向滚动 216 8E N SS2 * 从G1转到G2 217 8F O SS3 * 单次切换至G3 (VT100使用此功能发送PF密钥) 220 90 P DCS * 设备控制字符串,以ST结尾(VT125进入图形) 221 91 Q PU1 私人使用1 222 92 R PU2 私人使用2 223 93 S STS 设置传输状态 224 94 T CCH 取消角色,忽略之前的角色 225 95 U MW “邮件等待”,打开终端上的指示灯 226 96 V SPA 保护区开始 227 97瓦EPA 保护区边界 230 98 X 预留用于未来标准 231 99 Y 已保留 232 9A Z * 已保留,但会导致DEC终端以DA代码响应 233 9B [ CSI * 控制序列引入器(在单独的表格中描述) 234 9C \ ST * 字符串终止符(VT125退出图形) 235 9D ] OSC 操作系统命令(重新编程智能终端) 236 9E ^ PM 隐私消息(密码验证),由ST终止 237 9F _ APC 应用程序命令(到文字处理器),ST术语 ============================================================================== 字符集选择序列(来自ANSI X3.41-1974) 所有字符长度均为3个字符(包括ESCape)。字母字符 由于第3个字符由ANSI定义,因此参数字符为第3个字符 可由每个终端制造商以不同的方式解释。 10月6日* (*表示DEC VT系列或LA系列终端中使用的功能) --- -- -- - ------------------------------------------------------------------ 040 20 ANNOUNCER -确定是否使用7位或8位ASCII 仅使用G0。忽略SI、SO和G1。 内部使用G0和G1,SI和SO影响G0,忽略G1。 在仅支持8位的环境中,G0和G1。SI和SO被忽略。 使用G0和G1,SI和SO影响G0。 E F*7位传输,VT240/PRO350将CSI发送为两个字符ESC [ G*8位传输,VT240/PRO350发送CSI为单个8位字符 041 21!选择C0控制集(63个标准和16个专用) 042 22“选择C1控制集(可选63个标准,16个专用) 043 23 #将下一个字符转换为特殊单个字符 #3 * DECDHL1 -双高度线,上半部分 #4 * DECDHL2 -双高度线,下半部分 #5 * DECSWL -单一宽度线 #6 * DECDWL -双倍宽度线 #7 * DECHCP -打印图形屏幕的硬拷贝(GIGI、VT125、VT241) #8 * DECALN -对齐显示,用“E”填满屏幕以调整焦点 044 24 $多字节字符-可显示的字符需要2个字节 045 25 %特殊解释-如9位数据 046 26 &保留用于未来标准化 047 27“保留用于未来标准化” 050 28 ( * SCS -选择G0字符集(可选63个标准字符,16个专用字符) (0 * DEC VT100线条画集(影响小写字母) (1 * DEC替代字符ROM集合(GIGI和VT220上的RAM集合) (2 * DEC替代字符ROM集,带有线条图 (5 * DEC芬兰语在LA100 (6 * DEC挪威/丹麦在LA100 (7 * DEC瑞典语在LA100上 (9 * DEC法裔加拿大人 (< * DEC补充图形(所有不在usascii中的图形) (*ukascii(英国磅符号) B(usascii(美国磅符号) C(ISO芬兰语在LA120上 E*ISO挪威/丹麦语在LA120 H*ISO瑞典语,LA120 K(ISO德国语在LA100,LA120 R(ISO法语在LA100,LA120 Y*意大利语在LA100上 Z*LA100上的西班牙语ISO 051 29 ) * SCS -选择G1字符集(63种标准字符和16种专用字符) *(与G0中列出的字符集相同) 052 2A * * SCS -选择G2字符集 *(与G0中列出的字符集相同) 053 2B + * SCS -选择G3字符集 *(与G0中列出的字符集相同) 054 2C,SCS -选择G0字符集(另外63+16套) 055 2D - SCS -选择G1字符集(另外63+16套) 056 2E. SCS -选择G2字符集 057 2F / SCS -选择G3字符集 ============================================================================== 由ANSI X3.41-1974允许的两个字符的私有转义序列 这些参数可由各终端制造商以不同的方式定义。 10月6日* (*表示DEC VT系列或LA系列终端中使用的功能) --- -- - - ------------------------------------------------------------------ 060 30 0 061 31 1 DECGON VT105上的图形,DECHTS水平标签设置为LA34/LA120 062 32 2 VT105的图形关闭,DECCAHT清除所有水平标签LA34/LA120 063 33 3 DECVTS -设置LA34/LA120的垂直标签 064 34 4 decavt-清除LA34/LA120的所有垂直标签 065 35 5 * DECXMT -主机要求VT132像按下ENTER键一样进行传输 066 36 6 067 37 7 * DECSC -保存光标位置和字符属性 070 38 8 * DECRC -将光标和属性恢复到以前保存的位置 071 39 9 072 3A : 073 3B ; 074 3C < * DECANSI -从VT52模式切换到VT100模式 075 3D = * DECKPAM -将键盘设置为应用程序模式(使用Escape而不是数字) 076 3E > * DECKPNM -将键盘设置为数字模式(数字代替ESCape序列) 077 3F ? DEC终端使用的DCS设备控制字符串(以ST结尾) Pp =启动ReGIS图形(VT125、GIGI、VT240、PRO350) Pq =启动SIXEL图形(屏幕转存至LA34、LA100,屏幕加载至VT125) Pr =设置GIGI的数据,$PrVC0$\可禁用两个可见光标。 Ps =在GIGI上重新编程键,$P0sDIR$\使键盘0发送“DIR” 键盘上的0-9=数字,10=输入,11=减号,12=逗号,13=句点, 14-17=PF1-PF4,18-21=光标键。由$[?23h(PK1)启用。 Pt =在VT125上启动VT105图形 ============================================================================== 标准的两位字符转义序列(由ANSI X3.64-1979定义) 100 40 @参见C1控制字符的说明 ESCape后跟一个大写字母字符的翻译 在解释之前,先转换为8位C1控制字符。 220 90 P DCS -设备控制字符串,以ST结尾-见上表。 133 5B [ CSI -控制序列引入器-见下表。 137 5F _参见C1控制字符的说明 ============================================================================== 独立控制功能(来自X3.64-1977附录E)。 这四个控件具有相同的意义,与当前无关 C0和C1控制集的定义。每个控制都是两个字符 ESCape序列,第二个字符为小写字母。 10月6日* (*表示DEC VT系列或LA系列终端中使用的功能) --- -- - - -------------------------------------------------------------------- 140 60`DMI -禁用手动输入 141 61 a INT -中断终端并执行特殊操作 142 62 b EMI -启用手动输入 143 63 c * RIS -恢复初始状态(VT100进行上电复位) ...ANSI保留了其余小写字符。 153 6B k NAPLPS将G1锁定到GR 154 6C l NAPLPS锁定G2至GR 155 6D m NAPLPS将G3转换为GR 156 6E n * LS2 -将G2移至GL(SI的扩展)VT240,NAPLPS 157 6F o * LS3 -将G3转移到GL(SO的扩展)VT240,NAPLPS ...ANSI保留了其余小写字符。 174 7C | * LS3R - VT240锁定换档G3至GR 175 7D } * LS2R - VT240锁定-换档G2至GR 176 7E ~ * LS1R - VT240锁定-换档G1至GR ============================================================================== 控制序列(由ANSI X3.64-1979定义) 控制序列由ESC [或CSI启动,并由一个 “字母”字符(100至176八进制,40至7E十六进制)。中间 字符是通过斜杠分隔的(40到57八进制,20到2F十六进制)和参数 字符为零到问号(8进制60到77,16进制30到3F, (包括数字和分号)。参数由零个或多个小数组成 以分号分隔的数字。可选前导零,可选前导空格 不允许。如果最后一个字符前没有数字,则为默认值 参数被使用。许多函数将参数0视为1。 10月6日* (*表示DEC VT系列或LA系列终端中使用的功能) --- -- - - -------------------------------------------------------------------- --- -- - - -------------------------------------------------------------------- 100 40 @ ICH -插入字符 [10@ =在当前位置为10个字符腾出空间 101 41 A * CUU -指针向上 * [=向上移动一行,停在屏幕顶部,[9A =向上移动9 102 42 B * CUD - CUrsor下移 * [B =向下移动一行,在屏幕底部停止 103 43 C * CUF -指针向前 * [C =向前移动一个位置,在屏幕右侧边缘停止 104 44 D * CUB -向后光标 * [D =与BackSpace相同,停止在屏幕左侧边缘 105 45 E CNL -划到下一行 [5E =移动到第五行下方的第一个位置 106 46 F CPL -划到上一行 [5F =移动到前一行的第5个位置 107 47 G CHA -光标水平位置绝对值 [40G =移动到当前行的第40列 110 48 H * CUP -指针位置 * [H =家,[24;80H=第24行,第80列 111 49 I CHT -光标水平制表 [I =与HT相同(Ctrl-I),[3I =向前3个标签页 112 4A J * ED -在显示屏上擦除(光标不移动) * [J = [0J =从当前位置删除至结尾(包括) * [1J =从开始到当前位置(含)删除 * [2J =清除整个显示 [?0J =显示屏上的选择性擦除([?1J、[?2J类似) 113 4B K * EL -在行中擦除(光标不移动) * 【K=[0K=从当前位置删除至结束(包括) * [1K =从开始到当前位置删除 * [2K =删除当前整行 * [?0K =选择性擦除到行尾([?1K、[?2K类似) 114 4C L * IL -插入行,当前行向下移动(VT102系列) [3L =如果当前处于滚动区域,请插入3行 115 4D M * DL -删除行,删除当前行下方的行(VT102系列) [2M =如果当前处于滚动区域,请删除2行 116 4E N EF -在字段中擦除(受保护字段的限制) [0N、[1N、[2N像[L一样,但在当前领域内 117 4F O EA -在合格区域(由DAQ定义)中擦除 [0O、[1O、[2O像[J一样,但在当前区域内 120 50 P * DCH -删除字符,从当前位置到字段结尾 [4P =删除4个字符,VT102系列 121 51 Q SEM -设置编辑范围模式(限制ICH和DCH) [0Q = [Q =插入/删除字符会影响其余显示 [1Q = ICH/DCH仅影响当前生产线 [2Q = ICH/DCH仅影响当前字段(在制表符之间) [3Q = ICH/DCH影响合格区域(受保护区域之间) 122 52 R * CPR -光标位置报告(从终端到主机) * [24;80R=光标位于第24行第80列 123 53 S SU -上滚,整个显示向上移动,新行位于底部 [3S =将所有内容向上移动3行,引入3行新内容 124 54 T SD -向下滚动,屏幕顶部插入新行 [4T =向下滚动4,将之前的行带回到视图中 125 55 U NP -下一页(如果终端具有超过1页的内存) [2U =滚动前2页 126 56 V PP -上一页(如果终端记得已从顶部滚动的行) [1V =向后滚动1页 127 57 W CTC -光标制表控制 [0W =在当前位置设置当前行的水平标签 [1W =设置当前页面当前行的垂直制表位 [2W =在当前行的当前位置处清除水平制表位 [3W =清除当前页当前行的垂直分隔符 [4W =仅清除当前行上的所有水平制表位 [5W =清除整个终端的所有水平制表符 [6W =清除所有垂直标签,使整个终端停止 130 58 X ECH -删除字符 [4X =将接下来的4个字符更改为“已删除”状态 131 59 Y CVT -垂直光标选项卡 [2Y =转到第二个垂直制表符 132 5A Z CBT -光标后退键 [3Z =向后移动到第三个前水平制表符 133 5B [ 保留用于未来的标准化左括号 134 5C \ 反向倒斜 135 5D ] 右括号 136 5E ^ 保留的反向弯 137 5F _ 下划线保留字 140 60`* HPA -水平位置绝对值(取决于PUM) [720`=移动到从左页边距起720分点(1英寸) * [80`将=移动到LA120的第80列 141 61 a * HPR -水平位置相对(取决于PUM) [360a =从当前位置移动360德西点(1/2英寸) * [40a =将40列移动到LA120上当前位置的右侧 142 62 b REP -重复上一个可显示字符 [80b =重复字符80次 143 63 c * DA -设备属性 * [c =终端将识别自身 * [?1;2c=终端显示它是一个带有AVO的VT100 * [>0c =二次DA请求(区分VT240与VT220) 144 64 d * VPA -垂直位置绝对值(取决于PUM) [90d =从顶部边缘移动到90分点(1/8英寸) * [10d =如果在该行之前,请移动到下一行,否则请移动到下一页的第10行 145 65 e * VPR -相对垂直位置(取决于PUM) [720e =从当前位置向下移动720德克(1英寸) * [6e=LA120上方前进6行 146 66 f * HVP -水平和垂直位置(取决于PUM) [720,1440f =向下移动1英寸,向右移动2英寸(分点) * [24;80f=如果PUM设置为字符,则移动到第24行第80列 147 67 g * TBC -表格清晰 * [0g =在当前位置处显示透明水平分隔符 * [1g =在当前行处设置清晰的垂直分隔符(LA120) * [2g =仅清除当前行上的所有水平制表位LA120 * [3g =清除终端中的所有水平制表位 150 68 h * SM -设置模式(.意为永久设置在VT100上) [0h =错误,此命令被忽略 * [1h = GATM -守护区域传输模式,发送所有(VT132) [2h = KAM -键盘操作模式,禁用键盘输入 [3h = CRM -控制表示模式,显示所有控制字符 * [4h = IRM -插入/更换模式,设置插入模式(VT102) [5h = SRTM -状态报告传输模式,DCS后报告 * [6h = ERM - ERasure模式,擦除受保护和未受保护 [7h = VEM -垂直编辑模式,IL/DL影响前一行 [8h、[9h为预留时间 [10h = HEM -水平编辑模式,ICH/DCH/IRM向后 [11h = PUM -定位单元模式,使用decipoints用于HVP/等 . [12h = SRM -发送接收模式,发送时无本地回声 [13h = FEAM -格式化操作模式,FE存储 [14h = FETM - Format Effector Transfer Mode,仅在存储时发送 [15h = MATM -多区域传输模式,发送所有区域 * [16h = TTM -传输终止模式,发送滚动区域 [17h = SATM -发送区域传输模式,发送整个缓冲区 [18h = TSM - Tabulation Stop Mode,线路独立 [19h = EBM -编辑边界模式,所有内存受到影响 * [20h = LNM - Linefeed Newline Mode,LF解释为CR LF * [?1h = DECCKM -光标键模式,发送ESC O A以向上移动光标 * [?2h = DECANM - ANSI模式,使用ESC <将VT52切换为ANSI * [?3h = DECCOLM -模式列,每行132个字符 * [?4h = DECSCLM - SCrolL模式,平滑滚动 * [?5h = DECSCNM - SCreeN模式,白色背景上的黑色 * [?6h = DECOM - Origin Mode,第1行与滚动区域相关 * [?7h = DECAWM - AutoWrap模式,在第80列后开始换行 * [?8h = DECARM -自动重复模式,按键将自动重复 * [?9h = DECINLM - INterLace模式,用于拍摄照片的交错模式 * [?10h = DECEDM - EDit模式,VT132在EDit模式下 * [?11h = DECLTM -线路传输模式,忽略TTM,发送线路 [?12h = ? * [?13h = DECSCFDM -空间压缩/字段限定开启, * [?14h = DECTEM -传输执行模式,在输入时进行传输 [?15h = ? * [?16h = DECEKEM -编辑键执行模式,编辑键为本地 [?17h = ? * [?18h = DECPFF -打印表单进纸模式,在打印屏幕后发送FF * [?19h = DECPEXT -打印范围模式,打印整个屏幕 * [?20h = OV1 - Overstrike,在GIGI上叠加角色 * [?21h = BA1 -本地基础,GIGI到键盘和屏幕 * [?22h = BA2 -主机基础,GIGI到主机计算机 * [?23h = PK1 - GIGI数字键盘发送可重新编程的序列 * [?24h = AH1 -在擦除或滚动GIGI屏幕之前自动打印 * [?29h = -仅使用LA100字体的正确音高 * [?38h = DECTEK - TEKtronix图形模式 151 69 i * MC -媒体副本(VT102上的打印机端口) * [0i =将文本屏幕内容发送到打印机 [1i =从辅助输入(打印机键盘)填充屏幕 [2i =将屏幕发送到辅助输出设备 [3i =从辅助输入设备填充屏幕 * [4i =启用将接收到的数据复制到主输出(VT125) * [4i =接收到的数据将发送至VT102屏幕,而不是打印机 * [5i =关闭将接收到的数据复制到主输出(VT125) * [5i =接收到的数据将发送至VT102的打印机,而不是其屏幕 * [6i =关闭将接收到的数据复制到辅助输出(VT125) * [7i =启用将接收到的数据复制到辅助输出(VT125) * [?0i =图形屏幕转储将发送至图形打印机VT125、VT240 * [?1i =打印光标行,以CR LF结束 * [?2i =图形屏幕转储将发送到主机计算机VT125、VT240 * [?4i =禁用自动打印 * [?5i =自动打印,当接收到行进信号时一次发送一行 152 6A j 预留用于未来标准化 153 6B k 预留用于未来标准化 154 6C l * RM -复位模式(.表示在VT100上永久复位) * [1l = GATM -仅传输未受保护的字符(VT132) . [2l = KAM -启用键盘输入 . [3l = CRM -控制字符不是可显示的字符 * [4l = IRM -重置为更换模式(VT102) . [5l = SRTM -只按命令报告(DSR) * [6l = ERM -只擦除未受保护的字段 . [7l = VEM -电流线后IL/DL影响线 [8l、[9l保留 . [10l = HEM - ICH和IRM推动角色前进,DCH拉动 . [11l = PUM -使用字符位置来表示HPA/HPR/VPA/VPR/HVP [12l = SRM -本地回声-从键盘输入发送到屏幕 . [13l=FEAM-HPA/VPA/SGR等在收到时生效 . [14l = FETM - Format Effectors被发送到打印机 [15l = MATM -如果SATM被重置,则仅发送当前区域 * [16l = TTM -传输部分页面,直至光标位置 [17l = SATM -传输由SSA/ESA/DAQ限定的区域 . [18l = TSM -在一行上设置制表符会影响所有行 . [19l = EBM -插入内容未溢出到下一页 * [20l = LNM -线路馈送未改变水平位置 * [?1l = DECCKM -光标键发送ANSI光标位置命令 * [?2l = DECANM -使用VT52模拟代替ANSI模式 * [?3l = DECCOLM -每行80个字符(擦除屏幕) * [?4l = DECSCLM -跳转滚动 * [?5l = DECSCNM -正常屏幕(白色背景) * [?6l = DECOM -行号与滚动区域无关 * [?7l = DECAWM -列80之后光标仍停留在行尾 * [?8l = DECARM -按住时键不会重复 * [?9l = DECINLM -显示屏未采用隔行扫描方式,以避免闪烁 * [?10l = DECEDM - VT132传输所有按键 * [?11l = DECLTM -根据TTM发送页面或部分页面 [?12l = ? * [?13l = DECSCFDM -不要在发送时抑制尾随空格 * [?14l = DECTEM -输入发送ESC S(STS)请求发送 [?15l = ? * [?16l = DECEKEM -编辑键传输$[10h或$[10l [?17l = ? * [?18l = DECPFF -打印屏幕后不要发送换行符 * [?19l = DECPEXT -只打印卷轴区域内的行 * [?20l = OV0 -空间具有破坏性,不要替换,不要过度打击,GIGI * [?21l = BA0 -无基本,GIGI在线或本地 * [?22l = BA0 -无基本,GIGI在线或本地 * [?23l = PK0 -忽略GIGI键盘和光标的重新编程 * [?24l = AH0 -当GIGI屏幕被擦除时,不自动打印硬拷贝 * [?29l =允许LA100上的所有字符音高 * [?38l = DECTEK -忽略TEKtronix图形命令 155 6D m * SGR -设置图形渲染(影响角色属性) * [0m =清除所有特殊属性 * [1m =加粗或增加强度 * [2m=GIGI上的暗色或次要颜色(XXXXXX上的上标) [3m =斜体(XXXXXX上的下标) * [4分钟=下划线,[0;4分钟=清除,然后设置下划线 * [5分钟=缓慢眨眼 [6m =快速眨眼(XXXXXX上的背景音乐) * [7m =负片,[0;1;7m=加粗+反色 [8m =隐藏(不显示本地回显的字符) [9m =保留用于未来的标准化 * [10m =选择主字体(LA100) * [11m - [19m = Selete备用字体(LA100有11至14) [20m=fraktur(不管那是什么意思) * [22m =只取消粗体或淡色属性(VT220) * [24m =只取消下划线属性(VT220) * [25m =只取消快速或缓慢眨眼属性(VT220) * [27m =只取消负像属性(VT220) * [30m =黑色书写,[40m =背景设为黑色(GIGI) * [31m =用红色书写,[41m =将背景设置为红色 * [32m =用绿色书写,[42m =将背景设置为绿色 * [33m =黄色书写,[43m =背景设置为黄色 * [34m =用蓝色书写,[44m =将背景设置为蓝色 * [35m =用洋红色书写,[45m =将背景设置为洋红色 * [36m =用青色书写,[46m =将背景设置为青色 * [37分钟=用白色书写,[47分钟=将背景设置为白色 [38m、[39m、[48m、[49m为预留 156 6E n * DSR -设备状态报告 * [0n =终端已准备好,未检测到故障 [1n =电话终端忙,请稍后重试 [2n =终端忙,准备就绪时将发送DSR * [3n =出现故障,请重试 [4n =故障,终端在准备就绪时发送DSR * [5n =命令终端报告其状态 * [6n =命令终端请求光标位置(CPR) * [?15n =告知终端打印机状态的命令,返回 [?10n =好,[?11n =不好,[?13n =没有打印机。 * [?25n =“用户定义的键是否锁定?”(VT220) 157 6F o DAQ -在当前位置开始定义区域资格 [0o =接受所有输入,按要求发送 [1o =受保护和保护,不接受任何输入,不传输 [2o =接受此字段中的任何打印字符 [30=仅限数字字段 [4o =仅字母(A-Z和a-z) [5o =在区域中右对齐 [3;6o=零填充区域 [7o =设置水平制表位,这是字段的起始位置 [8o =受保护且未加防护,不接受任何输入,但可发送 [9o =空间填充区域 ============================================================================== 私有控制序列(ANSI X3.41-1974允许)。 这些参数字符串以小写字母的后半部分结尾。 10月6日* (*表示DEC VT系列或LA系列终端中使用的功能) --- -- - - -------------------------------------------------------------------- 160 70 p * DECSTR -软终端复位 [!p =软终端重置 161 71 q * DECLL -负载LED [0q =关闭所有,[?1;4q启用L1和L4等 [154;155;157q=VT100发疯了 [2;23!q=从GIGI到图形打印机的部分屏幕转储 [0“q=DECSCA选择角色属性关闭 [1“q=DECSCA-指定集为不可擦除 [2“q=DECSCA-指定集为可擦除 162 72 r * DECSTBM -设置顶部和底部边距(VT100上的滚动区域) [4;20r=在第4行设置顶部边距,在第20行设置底部边距 163 73 s * DECSTRM -设置LA100、LA120的左和右边距 [5;130s=将左页边距设置为第5列,右页边距设置为第130列 164 74 t * DECSLPP -设置每页物理行数 [66t =纸张有66行(每英寸6英寸,共11英寸) 165 75 u * DECSHTS -在LA100上一次设置多个水平制表位 [9;17;25;33;41;49;57;65;73;81u=设置标准制表位 166 76 v * DECSVTS -在LA100上同时设置多个垂直制表位 [1;16;31;45v=每15行设置绿色标签 167 77 w * DECSHORP -在LAxxx打印机上设置水平间距 [1w =每英寸10个字符,[2w =每英寸12个字符 [0w=10, [3w=13.2, [4w=16.5, [5w=5, [6w=6, [7w=6.6, [8w=8.25 170 78 x * DECREQTPARM -请求终端参数 [3;5;2;64;64;1;0x=报告,7位偶数,1200波特,1200波特 171 79 y * DECTST -调用置信度测试 [2;1y=VT100系列(以及VT125中的VT100部分)的上电测试 [3;1y=GIGI(VK100)上的通电测试 [4;1y=VT125图形部分的上电测试 172 7A z * DECVERP -在LA100上设置垂直间距 [1z =每英寸6行,[2z =每英寸8行 [0z=6, [3z=12, [4z=3, [5z=3, [6z=4 173 7B {私人 174 7C | * DECTTC -发射终端字符 [0| =不要使用额外字符,[1| =以FF结束 175 7D } * DECPRO -在VT132上定义受保护的字段 [0} =无保护,[1;4;5;7}=任何属性均受保护 [254} =无属性的角色受到保护 176 7E ~ * DECKEYS -由特殊功能键发送 [1~=FIND, [2~=INSERT, [3~=REMOVE, [4~=SELECT, [5~=PREV, [6~=NEXT [17~=F6...[34~=F20 ([23~=ESC,[24~=BS,[25~=LF,[28~=HELP,[29~=DO) 177 7F删除总是被忽略 ============================================================================== 带有中间字符的控制序列(来自ANSI X3.64-1979)。 请注意,在终止字母之前有一个空格字符。 10月6日* (*表示DEC VT系列或LA系列终端中使用的功能) --- -- - - -------------------------------------------------------------------- 100 40 @ SL -向左滚动 [4 @ =将所有内容移到4列,右侧新增4列 101 41 A SR -向右滚动 [2 A=将所有内容移到两列上方,在左侧新增两列 102 42 B GSM -图形尺寸修改 [110;50 B=高度为110%,宽度为50% 103 43 C GSS -图形尺寸选择 [120 C=将字符设置为120德卡点(1/6英寸)高 104 44 D FNT -字体选择(由SGR使用,[10m至[19m) [0;23 D=将主字体设为注册字体#23 105 45 E TSS -空间薄型规范 [36 E=将细空间定义为36德西点(1/20英寸) 106 46 F JFY -终端/打印机完成的JustiFY [0 E=无理由 [1 E = Fill,必要时将文字从下一行上移 [2 E=词间间距,调整单词之间的空格 [3 E=字符间距,调整每个字符的宽度 [4 E=使用连字符 [5 E=左边距为Flush [6 E = Center,正文位于页边距之间(直到[0 E) [7 E=按右对齐 [8 E=意大利语形式(下划线代替连字符) 107 47 G SPI - SPacing Increment(以分点为单位) [120;72 G=每英寸垂直6个,每英寸水平10个 110 48 H QUAD-在当前文本行(排版)上添加四行 [0 H=左侧冲洗,[1 H=左侧冲洗并用引导液填充 [2 H=中心,[3 H=中心并填满领导者 [4 H=向右冲洗,[5 H=向右冲洗并用引导剂填充 111 49 I保留用于今后标准化 157 67 o保留用于未来的标准化 160 70 p私用 ... 可由打印机制造商定义 176 7E ~私人使用 177 7F删除总是被忽略 ============================================================================== VT100仿真最低要求: 1)作为被动显示,实现4个光标命令和2个擦除 命令、直接光标定位和至少反向字符。 软件应能够处理包含16个数值参数的字符串 值的范围为0到255。 [向上移动一个行的光标,如果屏幕顶部停止 B向下移动一个行,如果在屏幕底部停止 C向前移动一个列的光标,如果在屏幕的右边缘停止 D向后移动一个列的光标,如果在屏幕的左边缘停止 [H家庭到第1行第1列(也[1;1H) [J从当前位置移到屏幕底部 【从当前位置到行尾,清除空白】 [24;80H位置到第24行第80列(第1行至第24行,第1列至第132列) [0m将属性清除为普通角色 [7m为后续角色添加反向视频属性 [0;7m将角色属性设置为仅反显 2)要在VT100模式下输入数据,需使用4个光标键和4个PF键。 必须能够从键盘输入ESC、TAB、BS、DEL和LF。 [由上箭头键发送(或按ESC O A) B由下划线键发送(或ESC O B) C由右键发送(或按ESC O C) [D由左光标键发送(或ESC O D) OP PF1键发送ESC O P OQ PF2键发送ESC O Q 或三氟化磷键发送ESC O R OS三氟化磷键发送ESC O S c请求终端识别自己 [?1;0c VT100,具有24 x 80内存,反色视频字符属性 [?1;2c VT100,可支持132列模式,带粗体+闪烁+下划线+反色 3)在VT100上进行全屏编辑时,实现定向擦除, 应用程序模式下的数字键盘,以及有限的滚动区域。 后者用于在不重写的情况下执行插入/删除行功能 屏幕。 [0J从当前位置删除至屏幕底部,包括 [1J从屏幕顶部删除到当前位置,包括当前位置 [2J清除整个屏幕(不移动光标) [0K从当前位置删除至行尾 [1K从行首到当前位置全部删除 [2K删除整行(不移动光标) [12;24r将滚动区域设置为第12行到第24行。如果需要换行或 在第24行接收INDex,删除原来的第12行 第13-24行向上移动。如果在接收RI(反向索引)时 在第12行,插入一个空行,因为第12-13行向下移动。 所有与VT100兼容的终端(GIGI除外)都具有此功能。 ESC =将数字小键盘设置为应用程序模式 ESC >将数字小键盘设置为数字模式 OA上光标键在ESC = ESC [? 1 h后发送ESC O A OB下光标键发送ESC O B“”“ 右箭头键发送ESC O B“”“ OB左箭头键发送ESC O B“”“ 在ESC =之后,OM进入键发送ESC O M 键盘上的小写字母l可以发送ESC O l“”(即小写L) 在键盘上按下“O MINUS”发送ESC O m“” 在键盘上按零键,发送ESC O p“” 在键盘上按Oq ONE发送ESC O q“” 或在键盘上输入两个数字,发送ESC O r“” 在键盘上按下三个键,发送ESC O s“” 在键盘上输入t“”,即可发出“OK” 或在键盘上输入FIVE并发送ESC O u“” 在键盘上输入Ov SIX,发送ESC O v“” 在键盘上按七键发送ESC O w“” 键盘上的O八发送ESC O x“” 在键盘上输入Oy NINE发送ESC O y“” 4)如果硬件能够实现双宽/双高: #3双宽双高线的上半部分 #4双宽双高线的下半部分 #5将线条设置为单宽(当按Esc[J清除时,线条将被设置为单宽) #6将行设置为正常宽度和高度(40或66个字符) 5)如果终端仿真程序能够插入或删除字符, 插入/删除行,插入/替换模式,并可以进行全屏转储到 打印机(在文本模式下),然后它应该标识自己为VT102 c请求终端识别自身 [?6c VT102(打印机端口,132列模式和插入/删除标准) [1@插入一个空白字符位置(向右移动一行) [1P删除一个字符位置(向左移动一行) [1L在当前行插入空行(向下移动屏幕) [1M删除当前行(向上移动屏幕) [4h设置插入模式,新角色将现有角色向右推 [4l重置插入模式,新字符替换现有字符 [0i将屏幕截图(全部24行)打印到打印机 [4i所有接收的数据都发送到打印机(不显示在屏幕上) [5i所有接收的数据都显示在屏幕上(不打印)