ANSI转义序列

ANSI X3.64 (ISO/IEC 6429)
来自htop的输出,其使用了SGR以及其它的ANSI转义序列。
标准
  • ECMA-48
  • ISO/IEC英语ISO/IEC JTC 1 6429
  • FIPS 86
  • ANSI X3.64
  • JIS X 0211英语JIS X 0211
分类ISO/IEC 2022基于控制字符的转义序列
其他相关编码其它控制字符标准:ITU T.101英语Videotex character setJIS X 0207英语JIS X 0207ISO 6630英语ISO 6630DIN 31626英语DIN 31626ETS 300 706英语Teletext character set

ANSI转义序列(ANSI escape sequences)是一种带内信号英语In-band signaling转义序列标准,用于控制视频文本终端上的光标位置、颜色和其他选项。在文本中嵌入确定的字节序列,大部分以ESC转义字符和"["字符开始,终端会把这些字节序列解释为相应的指令,而不是普通的字符编码

ANSI序列是在二十世纪七十年代引入的标准,用以取代特定于终端供应商的序列,并在二十世纪八十年代早期开始在计算机设备市场上广泛使用。与早期缺少光标移动功能的系统相比,新生的电子公告板系统使用ANSI序列改进其显示。正是因为这个原因,ANSI序列变成了所有制造商共同采用的标准。

在21世纪,尽管硬件文本终端已经越来越少了,但ANSI标准依然存在,因为大多数终端模拟器会对部分ANSI转义序列进行解释。一个值得注意的例外是,在微软Windows 10更新TH2之前,Windows操作系统Win32控制台是不支持ANSI转义序列的。

历史

最初,几乎每个视频终端制造商都各自添加了特定的转义序列用于执行一些特殊操作,比如把光标置于屏幕上的某个位置。举例来说,VT52英语VT52终端允许通过发送ESC字符、y字符,后面跟上两个等于x,y位置的数值加上32的字符(这是为了从ASCII空格字符开始,并避开控制字符),将光标置于屏幕上的x,y位置。

由于这些序列对于不同的终端并不一样,因此人们不得不开发了一些复杂的库(比如termcap英语termcap)和实用程序(比如tput英语tput),以便程序可以使用同一套API应对各种终端。另外,在很多终端中需要借助字符的二进制值发送数字(如行和列)。对于某些编程语言,以及内部不使用ASCII的系统来说,把数字转换为正确的字符常常是有困难的,甚至完全做不到。

ANSI标准试图解决这些问题。标准制订了一种所有终端共用的指令集,并要求用ASCII的数字字符传递所有数值信息。该系列的第一个标准是1976年通过的ECMA-48。它是一系列字符编码标准的延续,其中第一个是从1965年的ECMA-6英语ECMA-6,一个7标准,ISO 646就源自此标准。“ANSI转义序列”的名称可以追溯到1979年ANSI采用ANSI X3.64。此外,ANSI X3L2委员会与ECMA委员会TC 1合作制订了一个几乎一模一样的标准。以上两个标准合并为ISO 6429的国际标准[1]。1994年,ANSI取消了其标准,以支持国际标准。

第一个支持这个标准的流行视频终端是1978年推出的Digital VT100英语VT100[2]。这个终端在市场上非常成功,引发了各种各样的仿制品,其中最早和最流行的是1979年的Zenith Z-19英语Zenith Z-89[3]。其他品牌还有Qume英语Qume QVT-108,Televideo英语Televideo TVI-970,Wyse英语Wyse WY-99GT。另外,许多其他品牌的终端也不同程度地兼容可选的“VT100”、“VT103”或“ANSI”模式。 随着越来越多的软件(尤其是BBS系统)普及,越来越多的软件依赖转义序列起作用,导致几乎所有新的终端和终端模拟器都支持了此标准。

1981年,ANSI X3.64被美国政府采用(FIPS 86)。后来,美国政府停止复制行业标准,所以FIPS 86又被撤回了[4]

ECMA-48已经经历了多次更新换代,目前是从1991年开始的第5版。它也被ISOIEC用作标准ISO/IEC 6429

平台支持

类Unix系统和AmigaOS

Xterm终端模拟器
Xterm终端模拟器

随着诸多BBS和线上服务广泛使用ANSI,到20世纪80年代中期,ANSI几乎得到了全平台支持。尽管许多操作系统在标准文本输出中越来越多地支持ANSI,但大多数情况下ANSI支持是由终端模拟器完成的(例如Unix/Linux上的xtermGNOME终端英语GNOME TerminalKonsole,MacOS上的OS X Terminal或ZTerm英语ZTerm,以及IBM PC上的许多通信程序)。

UnixAmigaOS都在操作系统中包含了对ANSI的一些支持,因此在这些平台上运行的程序广泛使用ANSI。 类Unix操作系统可以通过像termcap英语termcapcurses函式庫英语curses (programming library)之类的库来生成ANSI代码,许多软件使用这些库升级显示方式。这些库也应该支持非ANSI终端,但是现在很少有人测试,所以很可能已经不起作用了[來源請求]。许多游戏和shell脚本直接输出ANSI序列(如彩色的提示信息),因此无法在不支持ANSI的终端上运行。

AmigaOS不仅支持输出到屏幕上的文本使用ANSI序列,还支持打印机驱动程序使用ANSI序列(需要AmigaOS的专有扩展,这会将它们转换为与特定打印机实际通信所需的代码[5])。

尽管ANSI很普及,却并没有得到全平台支持。比如原始的“经典”Mac OS就没有内置对ANSI的支持,再比如Atari ST使用的是VT52改编的命令系统,需要用一些扩展程序来支持颜色显示[6]

Windows和DOS

MS-DOS 1.x不支持ANSI或任何其他转义序列,只有少数控制字符(BEL、CR、LF、BS)可以由底层BIOS解释,所以几乎[nb 1]不可能做出任何全屏应用程序。所有显示效果都必须通过BIOS调用,或者直接控制IBM PC硬件来完成,调用速度非常慢。

DOS 2.0引入了添加设备驱动程序来支持ANSI转义序列的功能(事实上的标准是ANSI.SYS,但也使用了ANSI.COM[7]、NANSI.SYS[8]和ANSIPLUS.EXE等其他程序。因为绕过了BIOS,所以这些程序的速度比以前快了不少)。但由于实际运行速度仍然比较慢,以及默认并没有安装,所以还是很少得到利用。应用程序往往还是继续用直接控制硬件的方式来显示所需的文本[來源請求]。ANSI.SYS和类似的驱动程序继续在Windows 9x上工作,直到Windows Me,在NT衍生系统中用于在NTVDM英语NTVDM下执行的16位传统程序。

Win32控制台完全不支持ANSI转义序列。不过有一些控制台的替代品或者附加软件具有解释程序输出的ANSI转义序列的功能,例如JP Software的TCC(以前的4NT)、Michael J. Mefford的ANSI.COM、Jason Hood的ANSICON[9]和Maximus5的ConEmu。有一个Python软件包[10]在内部解释了打印文本中的ANSI转义序列,将它们转换为系统调用来操纵颜色和光标位置,以便更容易地将使用ANSI的Python代码移植到Windows。

2016年,在Windows 10发布“Threshold 2[11]时,微软开始在控制台应用程序中支持ANSI转义序列,使得从Unix移植软件或者远程访问Unix变得更容易。这是与Windows Subsystem for Linux一起完成的,允许基于终端的类Unix软件在Win32控制台中使用转义序列。2019年,微软推出了Windows Terminal,并且正在用其替换掉Win32控制台[12]

转义序列

序列具有不同的长度。所有序列都以ASCII字符ESC(27 / 十六进制 0x1B)开头,第二个字节则是0x40–0x5F(ASCII @A–Z[\]^_)范围内的字符。[13]:5.3.a

标准规定,在8位环境中,这两个字节的序列可以合并为0x80-0x9F范围内的单个字节(详情请参阅C1控制字符集)。但是,在现代设备上,这些代码通常用于其他目的,例如UTF-8的一部分或CP-1252字符,因此并不使用这种合并的方式。

除ESC之外的其他C0代码(通常是BEL,BS,CR,LF,FF,TAB,VT,SO和SI)在输出时也可能会产生与某些控制序列相似或相同的效果。

一些ANSI转义序列(不完整列表)
序列 C1 名称 作用
ESC N 0x8e SS2 – Single Shift Two 从其中一个替代字符集中选择一个字符。在xterm中,SS2选择G2字符集,SS3选择G3字符集。[14]
ESC O 0x8f SS3 – Single Shift Three
ESC P 0x90 DCS – 设备控制字符串(Device Control String) 控制设备。在xterm中,这个序列的使用包括定义用户自定义的密钥,以及请求或设置Termcap/Terminfo数据。[14]
ESC [ 0x9b CSI - 控制序列导入器(Control Sequence Introducer) 大部分有用的序列,请参阅下一节。结束于ASCII 64到126 (@~/十六进制0x40到0x7E).[13]
ESC \ 0x9c ST – 字符串终止(String Terminator) 终止其他控件(包括APC,DCS,OSC,PM和SOS)中的字符串。[13]:8.3.143
ESC ] 0x9d OSC – 操作系统命令(Operating System Command) 启动操作系统使用的控制字符串。OSC序列与CSI序列相似,但不限于整数参数。通常,这些控制序列由ST终止[13]:8.3.89。在xterm中,它们也可能被BEL终止[14]。例如,在xterm中,窗口标题可以这样设置:OSC 0;this is the window title BEL
ESC X 0x98 SOS – 字符串开始(Start of String) 引用由ST终止的一串文本的参数。这些字符串控制序列的用途由应用程序[13]:8.3.2,8.3.128或私有规则来定义[13]:8.3.94。这些函数没有实现,参数被xterm忽略[14]
ESC ^ 0x9e PM – 私有消息(Privacy Message)
ESC _ 0x9f APC – 应用程序命令(Application Program Command)
ESC c RIS – 重置为初始状态(Reset to Initial State) 将设备重置为原始状态。可能包括(如果适用的话):重置图形格式,清除制表符,重置为默认字体等等。

按下键盘上的特殊键,以及输出xterm CSI、DCS或OSC序列,常常用于产生从终端发送到计算机的CSI,DCS或OSC序列,就像用户使用键盘输入的一样。

CSI序列

CSI序列由ESC [、若干个(包括0个)“参数字节”、若干个“中间字节”,以及一个“最终字节”组成。各部分的字符范围如下:

CSI序列在ESC [之后各个组成部分的字符范围[13]:5.4
组成部分 字符范围 ASCII
参数字节 0x30–0x3F 0–9:;<=>?
中间字节 0x20–0x2F 空格、!"#$%&'()*+,-./
最终字节 0x40–0x7E @A–Z[\]^_`a–z{|}~

所有常见的序列都只是把参数用作一系列分号分隔的数字,如1;2;3。缺少的数字视为0(如1;;3相当于中间的数字是0,ESC[m这样没有参数的情况相当于参数为0)。某些序列(如CUU)把0视为1,以使缺少参数的情况下有意义:F.4.2

一部分字符定义是“私有”的,以便终端制造商可以插入他们自己的序列而不与标准相冲突。包括参数字节<=>?的使用,或者最终字节0x70–0x7F(p–z{|}~)例如VT320英语VT320序列CSI?25hCSI?25l的作用是打开和关闭光标的显示。

当CSI序列含有超出0x20–0x7E范围的字符时,其行为是未定义的。这些非法字符包括C0控制字符(范围0–0x1F)、DEL(0x7F),以及高位字节。

一些ANSI控制序列(不完整列表)
代码 名称 作用

CSI n A CUU – 光标上移(Cursor Up) 光标向指定的方向移动 n {\displaystyle n} (默认1)格。如果光标已在屏幕边缘,则无效。

CSI n B CUD – 光标下移(Cursor Down)

CSI n C CUF – 光标前移(Cursor Forward)

CSI n D CUB – 光标后移(Cursor Back)
CSI n E CNL – 光标移到下一行(Cursor Next Line) 光标移动到下面第 n {\displaystyle n} (默认1)行的开头。(非ANSI.SYS英语ANSI.SYS
CSI n F CPL – 光标移到上一行(Cursor Previous Line) 光标移动到上面第 n {\displaystyle n} (默认1)行的开头。(非ANSI.SYS)
CSI n G CHA – 光标水平绝对(Cursor Horizontal Absolute) 光标移动到第 n {\displaystyle n} (默认1)列。(非ANSI.SYS)

CSI n ; m H CUP – 光标位置(Cursor Position) 光标移动到第 n {\displaystyle n} 行、第 m {\displaystyle m} 列。值从1开始,且默认为1(左上角)。例如CSI ;5HCSI 1;5H含义相同;CSI 17;HCSI 17HCSI 17;1H三者含义相同。

CSI n J ED – 擦除显示(Erase in Display) 清除屏幕的部分区域。如果 n {\displaystyle n} 是0(或缺失),则清除从光标位置到屏幕末尾的部分。如果 n {\displaystyle n} 是1,则清除从光标位置到屏幕开头的部分。如果 n {\displaystyle n} 是2,则清除整个屏幕(在DOS ANSI.SYS中,光标还会向左上方移动)。如果 n {\displaystyle n} 是3,则清除整个屏幕,并删除回滚缓存区中的所有行(这个特性是xterm添加的,其他终端应用程序也支持)。

CSI n K EL – 擦除行(Erase in Line) 清除行内的部分区域。如果 n {\displaystyle n} 是0(或缺失),清除从光标位置到该行末尾的部分。如果 n {\displaystyle n} 是1,清除从光标位置到该行开头的部分。如果 n {\displaystyle n} 是2,清除整行。光标位置不变。

CSI n S SU – 向上滚动(Scroll Up) 整页向上滚动 n {\displaystyle n} (默认1)行。新行添加到底部。(非ANSI.SYS)

CSI n T SD – 向下滚动(Scroll Down) 整页向下滚动 n {\displaystyle n} (默认1)行。新行添加到顶部。(非ANSI.SYS)

CSI n ; m f HVP – 水平垂直位置(Horizontal Vertical Position) 同CUP。

CSI n m SGR – 选择图形再现(Select Graphic Rendition) 设置SGR参数,包括文字颜色。CSI后可以是0或者更多参数,用分号分隔。如果没有参数,则视为CSI 0 m(重置/常规)。

CSI 5i 打开辅助端口 启用辅助串行端口,通常用于本地串行打印机

CSI 4i 关闭辅助端口 禁用辅助串行端口,通常用于本地串行打印机

CSI 6n DSR – 设备状态报告(Device Status Report) ESC[n;mR(就像在键盘上输入)向应用程序报告光标位置(CPR),其中 n {\displaystyle n} 是行, m {\displaystyle m} 是列。

CSI s SCP – 保存光标位置(Save Cursor Position) 保存光标的当前位置。

CSI u RCP – 恢复光标位置(Restore Cursor Position) 恢复保存的光标位置。

选择图形再现(SGR)参数

代码 作用 备注
0 重置/正常 关闭所有属性。
1 粗体或增加强度
2 弱化(降低强度) 未广泛支持。
3 斜体 未广泛支持。有时视为反相显示。
4 下划线
5 缓慢闪烁 低于每分钟150次。
6 快速闪烁 MS-DOS ANSI.SYS;每分钟150以上;未广泛支持。
7 反显 前景色与背景色交换。
8 隐藏 未广泛支持。
9 划除 字符清晰,但标记为删除。未广泛支持。
10 主要(默认)字体
11–19 替代字体 选择替代字体 n 10 {\displaystyle n-10}
20 尖角体 几乎无支持。
21 关闭粗体或双下划线 关闭粗体未广泛支持;双下划线几乎无支持。
22 正常颜色或强度 不强不弱。
23 非斜体、非尖角体
24 关闭下划线 去掉单双下划线。
25 关闭闪烁
27 关闭反显
28 关闭隐藏
29 关闭划除
30–37 设置前景色 参见下面的颜色表。
38 设置前景色 下一个参数是5;n2;r;g;b,见下。
39 默认前景色 由具体实现定义(按照标准)。
40–47 设置背景色 参见下面的颜色表。
48 设置背景色 下一个参数是5;n2;r;g;b,见下。
49 默认背景色 由具体实现定义(按照标准)。
51 Framed
52 Encircled
53 上划线
54 Not framed or encircled
55 关闭上划线
60 表意文字下划线或右边线 几乎无支持。
61 表意文字双下划线或双右边线
62 表意文字上划线或左边线
63 表意文字双上划线或双左边线
64 表意文字着重标志
65 表意文字属性关闭 重置6064的所有效果。
90–97 设置明亮的前景色 aixterm(非标准)。
100–107 设置明亮的背景色 aixterm(非标准)。

颜色

3/4位

初始的规格只有8种颜色,只给了它们的名字。SGR参数30-37选择前景色,40-47选择背景色。相当多的终端将“粗体”(SGR代码1)实现为更明亮的颜色而不是不同的字体,从而提供了8种额外的前景色,但通常情况下并不能用于背景色,虽然有时候反显(SGR代码7)可以允许这样。例如:在白色背景上显示黑色文字使用ESC[30;47m,显示红色文字用ESC[31m,显示明亮的红色文字用ESC[1;31m。重置为默认颜色用ESC[39;49m(某些终端不支持),重置所有属性用ESC[0m。后来的终端新增了功能,可以直接用90-97和100-107指定“明亮”的颜色。

当硬件开始使用8位DAC时,多个软件为这些颜色名称分配了24位的代码。下面的图表显示了发送到DAC的一些常用硬件和软件的值。[來源請求]

名称 前景色代码 背景色代码 VGA[nb 2] CMD[nb 3] Terminal.app PuTTY mIRC xterm X英语X11 color names[nb 4] Ubuntu[nb 5]
30 40 0,0,0 1,1,1
31 41 170,0,0 128,0,0 194,54,33 187,0,0 127,0,0 205,0,0 255,0,0 222,56,43
绿 32 42 0,170,0 0,128,0 37,188,36 0,187,0 0,147,0 0,205,0 0,255,0 57,181,74
33 43 170,85,0[nb 6] 128,128,0 173,173,39 187,187,0 252,127,0 205,205,0 255,255,0 255,199,6
34 44 0,0,170 0,0,128 73,46,225 0,0,187 0,0,127 0,0,238[15] 0,0,255 0,111,184
品红 35 45 170,0,170 128,0,128 211,56,211 187,0,187 156,0,156 205,0,205 255,0,255 118,38,113
36 46 0,170,170 0,128,128 51,187,200 0,187,187 0,147,147 0,205,205 0,255,255 44,181,233
37 47 170,170,170 192,192,192 203,204,205 187,187,187 210,210,210 229,229,229 255,255,255 204,204,204
亮黑(灰) 90 100 85,85,85 128,128,128 129,131,131 85,85,85 127,127,127 127,127,127 128,128,128
亮红 91 101 255,85,85 255,0,0 252,57,31 255,85,85 255,0,0 255,0,0 255,0,0
亮绿 92 102 85,255,85 0,255,0 49,231,34 85,255,85 0,252,0 0,255,0 144,238,144 0,255,0
亮黄 93 103 255,255,85 255,255,0 234,236,35 255,255,85 255,255,0 255,255,0 255,255,224 255,255,0
亮蓝 94 104 85,85,255 0,0,255 88,51,255 85,85,255 0,0,252 92,92,255[16] 173,216,230 0,0,255
亮品红 95 105 255,85,255 255,0,255 249,53,248 255,85,255 255,0,255 255,0,255 255,0,255
亮青 96 106 85,255,255 0,255,255 20,240,240 85,255,255 0,255,255 0,255,255 224,255,255 0,255,255
亮白 97 107 255,255,255 255,255,255 233,235,235 255,255,255 255,255,255 255,255,255 255,255,255

8位

随着256色查找表在显卡上越来越常见,相应的转义序列也增加了,以从预定义的256种颜色中选择:[17]

   ESC[ … 38;5;<n> … m选择前景色(n是下表中的一种)
   ESC[ … 48;5;<n> … m选择背景色
     0-  7:标准颜色(同ESC [ 30–37 m)
     8- 15:高强度颜色(同ESC [ 90–97 m)
    16-231:6 × 6 × 6 立方(216色): 16 + 36 × r + 6 × g + b (0 ≤ r, g, b ≤ 5)
   232-255:从黑到白的24阶灰度色

ITU的T.416信息技术-开放文档体系结构(ODA)和交换格式:字符内容体系结构[18]使用“:”作为分隔符:

   ESC[ … 38:5:<n> … m选择前景色(n是下表中的一种)
   ESC[ … 48:5:<n> … m选择背景色
256色模式 — 前景色:ESC[38;5;#m   背景色:ESC[48;5;#m
标准色 高强度色
 0   1   2   3   4   5   6   7   8   9  10 11 12 13 14 15
216色
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195
196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231
灰度色
232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255

24位

随着16位到24位颜色的“真彩色”显卡的普及,Xterm[14]、KDE的Konsole[19],以及所有基于libvte的终端[20](包括GNOME终端英语GNOME Terminal)支持了ISO-8613-3的24位前景色和背景色设置。[17]

   ESC[ … 38;2;<r>;<g>;<b> … m选择RGB前景色
   ESC[ … 48;2;<r>;<g>;<b> … m选择RGB背景色

作为ISO / IEC国际标准8613-6采用的ITU的T.416信息技术-开放文档体系结构(ODA)和交换格式:字符内容体系结构[18]给出了一个似乎不太受支持的替代版本:

   ESC[ … 38:2:<Color-Space-ID>:<r>:<g>:<b>:<unused>:<CS tolerance>:<Color-Space: 0="CIELUV"; 1="CIELAB">m选择RGB前景色
   ESC[ … 48:2:<Color-Space-ID>:<r>:<g>:<b>:<unused>:<CS tolerance>:<Color-Space: 0="CIELUV"; 1="CIELAB">m选择RGB背景色

请注意,这里使用了保留的“:”字符来分隔子选项,这可能是在实际实现中造成混淆的始作俑者。它还使用“3”作为第二个参数来指定使用青-品红-黄方案的方案,“4”用于青-品红-黄-黑的方案,后者使用上面标记为“unused”(“未使用”)的位置作为黑色组件。

还要注意,许多识别“:”作为分隔符的实现错误地忽视了色彩空间标识符参数,并因此改变了其余部分的位置。

示例

CSI 2 J — 清除屏幕、(在某些设备上)把光标置于1,1位置(左上角)。

CSI 32 m — 使文字呈绿色。在MS-DOS上,一般绿色是暗淡的绿色,可以用CSI 1 m启用粗体使其变成明亮的绿色,或者将两者合并为CSI 32 ; 1 m。MS-DOS ANSI.SYS用粗体状态使字符变亮,闪烁状态(通过INT 10, AX 1003h, BL 00h)使背景色变成明亮模式。MS-DOS ANSI.SYS并不直接支持SGR代码90–97和100–107。

CSI 0 ; 6 8 ; "DIR" ; 13 p — 重新分配F10键的功能为发送字符串“DIR”和回车符到键盘缓存中,在DOS命令行里会显示当前目录的内容(仅MS-DOS ANSI.SYS)。这种序列有时用于“ANSI炸弹英语ANSI Bomb”。这是一个私用编码(如字母p所示),用非标准的扩展使其包含一个字符串参数。如果按标准,会认为字母D是序列的末尾。

CSI s — 保存光标的位置。用序列CSI u会把光标重置回这个位置。假设当前的光标位置是7(y)、10(x)。序列CSI s会保存这两个数值。现在可以把光标移动到其他位置,比如用序列CSI 20 ; 3 HCSI 20 ; 3 f把光标移动到20(y)、3(x)。现在如果用序列CSI u,光标会回到7(y)、10(x)。某些终端需要使用DEC序列ESC 7/ESC 8,这得到了更广泛的支持。

使用Shell脚本的示例

ANSI转移代码常常用于UNIX和类UNIX终端,以提供语法高亮功能。例如,在兼容的终端上,以下ls命令按类型对文件和目录的名称进行颜色编码。

ls --color

用户可以在脚本中使用转义码,将其作为标准输出标准错误输出的一部分。例如,下面的GNU sed命令通过反显“WARN”开头的单词的行,以及使用暗红色背景色和亮黄色前景色显示以“ERR”开头的单词(字母大小写被忽略)的行来修饰make命令的输出。突出显示了设置ANSI代码的部分。[21]

make 2>&1 | sed -e 's/.*\bWARN.*/\x1b[7m&\x1b[0m/i' -e 's/.*\bERR.*/\x1b[93;41 m&\x1b[0m/i'

以下Bash函数会使终端闪烁(通过交替发送反相和正常显示模式代码),直到用户按下任意键[22]。这个函数可以用于当一个冗长的命令终止时提醒用户,用法如make; flasher[23]

flasher () { while true; do printf \\e[?5h; sleep 0.1; printf \\e[?5l; read -s -n1 -t1 && break; done; }

下面这个命令可以重置控制台,类似现代Linux系统的reset命令。然而,即使在较早的Linux系统和其他(非Linux)UNIX变体上,也应该能起作用。

printf \\033c

参见

脚注

  1. ^ 屏幕显示可以通过从底部绘制整个新屏幕的内容来替代,滚动上一屏幕以充分擦除所有旧文本内容。用户会看到滚动,硬件光标会留在最底部。 一些早期的批处理文件以这种方式实现了基本的“全屏”显示。
  2. ^ 在启动PC并将其保留在文本模式下时使用的典型颜色,使用16个条目的颜色表。EGA/VGA图形模式中的颜色不同。
  3. ^ 从Windows XP起
  4. ^ 以上颜色名称来自X11 rgb.txt颜色数据库,用“light”作为明亮颜色的前缀。
  5. ^ 用于虚拟终端,来自/etc/vtrgb。
  6. ^ 在基于CGA兼容硬件(如在DOS上运行的ANSI.SYS)的终端上,正常强度的前景色呈现为橙色。 CGA RGBI显示器包含一些硬件,通过减少绿色成分将深黄色修改为橙色/棕色。

参考资料

  1. ^ Historical version of ECMA-48 (PDF). [2018-01-12]. (原始内容存档 (PDF)于2016-11-09). 
  2. ^ Williams, Paul. Digital's Video Terminals. VT100.net. 2006 [2011-08-17]. (原始内容存档于2012-07-23). 
  3. ^ Heathkit Company. Heathkit Catalog 1979. Heathkit Company. 1979 [2011-11-04]. (原始内容存档于2012-01-13). 
  4. ^ Withdrawn FIPS Listed by Number (PDF). [2018-01-12]. (原始内容存档 (PDF)于2016-06-14). 
  5. ^ Amiga Printer Command Definitions. Commodore. [2013-07-10]. (原始内容存档于2014-07-14). 
  6. ^ "Using C-Kermit", p. 88.
  7. ^ Mefford, Michael. ANSI.com: Download It Here. PC Magazine. 1989-02-07 [2011-08-10]. (原始内容存档于2012-01-24).  参数|journal=与模板{{cite web}}不匹配(建议改用{{cite journal}}|website=) (帮助)
  8. ^ Kegel, Dan; Auer, Eric. Nansi and NNansi – ANSI Drivers for MS-DOS. Dan Kegel's Web Hostel. 1999-02-28 [2011-08-10]. (原始内容存档于2018-05-19). 
  9. ^ Hood, Jason. Process ANSI escape sequences for Windows console programs. Jason Hood's Home page. 2005 [2013-05-09]. (原始内容存档于2014-07-29). 
  10. ^ colorama 0.2.5 :. Python Package Index. [2013-08-17]. (原始内容存档于2013-10-22). 
  11. ^ Grehan, Oisin. Windows 10 TH2 (v1511) Console Host Enhancements. 2016-02-04 [2016-02-10]. (原始内容存档于2016-02-09). 
  12. ^ Windows Console and Terminal Ecosystem Roadmap. Microsoft. 2018 [2021-03-13]. (原始内容存档于2022-08-27). 这包括将经典Win32控制台从其默认位置停用,以支持Windows终端、ConPTY和虚拟终端序列。 
  13. ^ 13.0 13.1 13.2 13.3 13.4 13.5 13.6 Standard ECMA-48: Control Functions for Coded Character Sets Fifth. Ecma International. June 1991 [2018-01-12]. (原始内容存档于2008-09-18). 
  14. ^ 14.0 14.1 14.2 14.3 14.4 XTerm Control Sequences. invisible-island.net. 2014-01-13 [2014-04-13]. (原始内容存档于2007-03-12). 
  15. ^ Changed from 0,0,205 in July 2004 Patch #192 – 2004/7/12 – XFree86 4.4.99.9. [2018-01-12]. (原始内容存档于2001-12-22). 
  16. ^ Changed from 0,0,255 in July 2004 Patch #192 – 2004/7/12 – XFree86 4.4.99.9. [2018-01-12]. (原始内容存档于2001-12-22). 
  17. ^ 17.0 17.1 README.moreColors. KDE. 2010-04-22. [永久失效連結]
  18. ^ 18.0 18.1 T.416 Information technology - Open Document Architecture (ODA) and interchange format: Character content architectures. [2018-01-12]. (原始内容存档于2016-03-03). 
  19. ^ color-spaces.pl (a copy of 256colors2.pl from xterm dated 1999-07-11). KDE. 2006-12-06. [永久失效連結]
  20. ^ libvte's bug report and patches. GNOME Bugzilla. 2014-04-04 [2016-06-05]. (原始内容存档于2015-09-03). 
  21. ^ Chapter 9. System tips. debian.org. [2018-01-12]. (原始内容存档于2018-01-29). 
  22. ^ VT100.net: Digital VT100 User Guide. [2015-01-19]. (原始内容存档于2015-04-15). 
  23. ^ bash – How to get a notification when my commands are done – Ask Different. [2015-01-19]. (原始内容存档于2015-01-19). 

外部链接

  • Standard ECMA-48, Control Functions For Coded Character Sets(页面存档备份,存于互联网档案馆). (5th edition, June 1991), European Computer Manufacturers Association, Geneva 1991 (also published by ISO and IEC as standard ISO/IEC 6429)
  • vt100.net DEC DocumentsArchive.is的存檔,存档日期2013-02-22
  • ANSI.SYS -- ansi terminal emulation escape sequences. [2018-01-12]. (原始内容存档于2006-02-06). 
  • Xterm / Escape Sequences(页面存档备份,存于互联网档案馆
  • AIXterm / Escape Sequences[永久失效連結]
  • A collection of escape sequences for terminals that are vaguely compliant with ECMA-48 and friends.(页面存档备份,存于互联网档案馆
  • ANSI Escape Sequences(页面存档备份,存于互联网档案馆
  • ITU-T Rec. T.416 (03/93) Information technology – Open Document Architecture (ODA) and interchange format: Character content architectures(页面存档备份,存于互联网档案馆
早期電信
  • 電報電碼英语Telegraph code
    • 庫克與惠斯通英语Cooke and Wheatstone telegraph
    • 摩斯
      • 非拉丁字母英语Morse code for non-Latin alphabets
      • 日文英语Wabun code
      • 中文
      • 西里爾字母英语Russian Morse code
      • 韓文英语SKATS
    • 博多與莫瑞
  • Fieldata英语Fieldata
  • ASCII
  • BCDIC英语BCD (character encoding)
  • 電傳文訊英语Teletex電傳視訊英语Videotex電視資訊
    • T.51/ISO/IEC 6937英语T.51/ISO/IEC 6937
    • ITU T.61英语ITU T.61
    • ITU T.101英语Videotex character set
    • 世界系統電傳文訊英语World System Teletext
      • 字元集英语Teletext character set
ISO/IEC 8859
書目
  • MARC-8英语MARC-8
  • ISO 5426英语ISO 5426
  • ISO 5427英语ISO 5427
  • ISO 5428英语ISO 5428
  • ISO 6438
  • ISO 6862英语ISO 6862
國家標準
ISO/IEC 2022
macOS代码页
  • 亞美尼亞文英语Mac OS Armenian
  • 阿拉伯文
  • 巴倫支西里爾字母英语Mac OS Barents Cyrillic
  • 凱爾特語族英语Mac OS Celtic
  • 中歐語言
  • 克羅埃西亞文英语Mac OS Croatian encoding
  • 西里爾字母英语Mac OS Cyrillic encoding
  • 梵文
  • 波斯文英语MacFarsi encoding
  • 字體X英语Macintosh Font X encoding
  • 蓋爾文英语Mac OS Gaelic
  • 喬治亞文英语Mac OS Georgian
  • 希臘文英语MacGreek encoding
  • 古吉拉特文英语Mac OS Gujarati
  • 古木基文英语Mac OS Gurmukhi
  • 希伯來文英语Mac OS Hebrew
  • 冰島文英语Mac OS Icelandic encoding
  • 因紐特文英语Mac OS Inuit
  • 鍵盤英语Mac OS Keyboard encoding
  • 拉丁文英语Macintosh Latin encoding
  • 馬爾他文/世界文英语Mac OS Maltese/Esperanto encoding
  • 歐甘字母英语Mac OS Ogham
  • 羅曼語族
  • 羅馬尼亞文英语Mac OS Romanian encoding
  • 薩米文英语Mac OS Sámi
  • 土耳其文英语Mac OS Turkish encoding
  • 土耳其西里爾字母英语Mac OS Turkic Cyrillic
  • 烏克蘭文英语Mac OS Ukrainian encoding
  • VT100英语VT100 encoding
DOS代碼頁
  • 437
  • 668英语Code page 668
  • 708英语Code page 708
  • 720英语Code page 720
  • 737英语Code page 737
  • 770英语Code page 770
  • 773英语Code page 773
  • 775英语Code page 775
  • 776英语Code page 776
  • 777英语Code page 777
  • 778英语Code page 778
  • 850英语Code page 850
  • 851英语Code page 851
  • 852英语Code page 852
  • 853英语Code page 853
  • 855英语Code page 855
  • 856英语Code page 856
  • 857英语Code page 857
  • 858英语Code page 858
  • 859英语Code page 859
  • 860英语Code page 860
  • 861英语Code page 861
  • 862英语Code page 862
  • 863英语Code page 863
  • 864英语Code page 864
  • 865英语Code page 865
  • 866英语Code page 866
  • 867英语Code page 867
  • 868英语Code page 868
  • 869英语Code page 869
  • 897英语Code page 897
  • 899英语Code page 899
  • 903英语Code page 903
  • 904英语Code page 904
  • 932英语Code page 932 (IBM)
  • 936英语Code page 936 (IBM)
  • 942英语Code page 942
  • 949英语Code page 949 (IBM)
  • 950
  • 951英语Code page 951
  • 1040英语Code page 1040
  • 1042英语Code page 1042
  • 1043英语Code page 1043
  • 1046英语Code page 1046
  • 1098英语Code page 1098
  • 1115英语Code page 1115
  • 1116英语Code page 1116
  • 1117英语Code page 1117
  • 1118英语Code page 1118
  • 1127英语Code page 1127
  • 3846英语Code page 3846
  • ABICOMP英语ABICOMP character set
  • CS Indic英语CS Indic character set
  • CSX Indic英语CSX Indic character set
  • CSX+ Indic英语CSX+ Indic character set
  • CWI-2英语CWI-2
  • 伊朗系統英语Iran System encoding
  • 卡梅尼茨英语Kamenický encoding
  • 馬索維亞英语Mazovia encoding
  • MIK英语MIK (character set)
IBM AIX代碼頁
  • 895英语Code page 895
  • 896英语Code page 896
  • 912英语Code page 912
  • 915英语Code page 915
  • 921英语Code page 921
  • 922英语Code page 922
  • 1006英语Code page 1006
  • 1008英语Code page 1008
  • 1009英语Code page 1009
  • 1010英语Code page 1010
  • 1012英语Code page 1012
  • 1013英语Code page 1013
  • 1014英语Code page 1014
  • 1015英语Code page 1015
  • 1016英语Code page 1016
  • 1017英语Code page 1017
  • 1018英语Code page 1018
  • 1019英语Code page 1019
  • 1124英语Code page 1124
  • 1133英语Code page 1133
Microsoft Windows代碼頁英语Windows code page
  • CER-GS英语CER-GS
  • 932英语Code page 932 (Microsoft Windows)
  • 936
  • 950
  • 1169英语Code page 1169
  • Extended Latin-8英语Extended Latin-8
  • 1250英语Windows-1250
  • 1251英语Windows-1251
  • 1252
  • 1253英语Windows-1253
  • 1254英语Windows-1254
  • 1255英语Windows-1255
  • 1256英语Windows-1256
  • 1257英语Windows-1257
  • 1258英语Windows-1258
  • 1270英语Windows-1270
  • 西里爾字母+芬蘭文英语Windows Cyrillic + Finnish
  • 西里爾字母+法文英语Windows Cyrillic + French
  • 西里爾字母+德文英语Windows Cyrillic + German
  • 希臘語變音符號英语Windows Polytonic Greek
EBCDIC代碼頁
  • 37英语Code page 37
  • EBCDIC中的日文英语Japanese language in EBCDIC
  • DKOI英语DKOI
DEC終端機(VTx英语VT220
  • MCS英语Multinational Character Set
  • NRCS英语National Replacement Character Set
    • 加拿大法文英语Code page 1020
    • 瑞士文英语Code page 1021
    • 西班牙文英语Code page 1023
    • 英國英文英语Code page 1101
    • 荷蘭文英语Code page 1102
    • 芬蘭文英语Code page 1103
    • 法文英语Code page 1104
    • 挪威文/丹麥文英语Code page 1105
    • 瑞典文英语Code page 1106
    • 挪威文/丹麥文(替代)英语Code page 1107
  • 8位元希臘文英语Code page 1287
  • 8位元土耳其文英语Code page 1288
  • SI 960英语SI 960
  • 希伯來文英语DEC Hebrew
  • 特殊圖形英语DEC Special Graphics
  • 技術英语DEC Technical Character Set
特定平臺
  • 1057英语Code page 1057
  • Acorn英语RISC OS character set
  • Adobe標準英语PostScript Standard Encoding
  • Adobe Latin 1英语PostScript Latin 1 Encoding
  • Amstrad CPC英语Amstrad CPC character set
  • Apple II英语Apple II character set
  • 雅達利資訊交換標準碼英语ATASCII
  • 雅達利ST英语Atari ST character set
  • BICS英语Bitstream International Character Set
  • 卡西歐計算機英语Casio calculator character sets
  • CDC英语CDC display code
  • Compucolor II英语Compucolor II character set
  • CP/M+英语Amstrad CP/M Plus character set
  • DEC RADIX 50英语DEC RADIX 50
  • DEC MCS英语Multinational Character Set/NRCS英语National Replacement Character Set
  • DG國際英语DG International
  • Fieldata英语Fieldata
  • GEM英语GEM character set
  • GSM 03.38英语GSM 03.38
  • HP Roman英语HP Roman
  • HP FOCAL英语FOCAL character set
  • HP RPL英语RPL character set
  • SQUOZE英语SQUOZE
  • LICS英语Lotus International Character Set
  • LMBCS英语Lotus Multi-Byte Character Set
  • MSX英语MSX character set
  • NEC APC英语NEC APC character set
  • NeXT英语NeXT character set
  • PETSCII英语PETSCII
  • SEGA SC-3000英语Sega SC-3000 character set
  • 夏普計算機英语Sharp pocket computer character sets
  • 夏普MZ英语Sharp MZ character set
  • 辛克萊QL英语Sinclair QL character set
  • 符號
  • 電傳文訊英语Teletext character set
  • 德州儀器計算機英语TI calculator character sets
  • TRS-80英语TRS-80 character set
  • 文圖拉國際英语Ventura International
  • WISCII英语Wang International Standard Code for Information Interchange
  • XCCS英语Xerox Character Code Standard
  • ZX80英语ZX80 character set
  • ZX81英语ZX81 character set
  • ZX Spectrum英语ZX Spectrum character set
Unicode通用字符集
TeX排版系統
  • 科克英语Cork encoding
  • LY1英语LY1 encoding
  • OML英语OML encoding
  • OMS英语OMS encoding
  • OT1英语OT1 encoding
其他代碼頁
  • ABICOMP英语ABICOMP character set
  • ASMO 449英语ASMO 449
  • 大五碼
  • APL符號數位編碼英语Digital encoding of APL symbols
    • ISO-IR-68英语ISO-IR-68
  • ARIB STD-B24
  • HZ英语HZ (character encoding)
  • IEC-P27-1英语IEC-P27-1
  • INIS
    • 7位元英语INIS character set
    • INIS-8英语8位元
  • ISO-IR-169英语ISO-IR-169
  • ISO 2033英语ISO 2033
  • KOI
    • -R
    • -RU英语KOI8-RU
    • -U
  • 今昔文字鏡
  • SEASCII英语Stanford Extended ASCII
  • Stanford/ITS英语Stanford/ITS character set
  • TRON英语TRON (encoding)
  • 統合韓文代碼英语Unified Hangul Code
控制字符
相關條目
分类 字元集
应用程序接口
文件系统(磁带)
  • 高级智能磁带英语Advanced Intelligent Tape
  • DDS英语Digital Data Storage
  • DLT英语Digital Linear Tape
  • Super DLT英语Digital Linear Tape
  • 全息通用光盘
  • Linear Tape-Open英语Linear Tape-Open(Ultrium-1)
  • VXA英语VXA
文件系统(磁盘)
图形
编程语言
无线链路接口
其他
Ecma標準列表(1961年 - 至今)
ISO標準
列表
国际标准化组织的标准列表英语List of International Organization for Standardization standards
国际标准化组织拉丁化方案列表
国际电工委员会标准列表英语List of IEC standards
1–9999
  • 1
  • 2
  • 3英语ISO 3
  • 4
  • 5
  • 6
  • 7英语ISO 7
  • 9
  • 16
  • 31
    • -0英语ISO 31-0
    • -1英语ISO 31-1
    • -2英语ISO 31-2
    • -3英语ISO 31-3
    • -4英语ISO 31-4
    • -5英语ISO 31-5
    • -6英语ISO 31-6
    • -7英语ISO 31-7
    • -8英语ISO 31-8
    • -9英语ISO 31-9
    • -10英语ISO 31-10
    • -11英语ISO 31-11
    • -12英语ISO 31-12
    • -13英语ISO 31-13
  • 128
  • 216
  • 217英语ISO 217
  • 226英语ISO 226
  • 228英语British standard pipe thread
  • 233
  • 259
  • 269
  • 302英语Kappa number
  • 306英语Vicat softening point
  • 428英语ISO 428
  • 518
  • 519
  • 639
  • 646
  • 690
  • 732
  • 764英语Antimagnetic watch
  • 843
  • 898英语ISO 898
  • 965英语ISO 965
  • 1000
  • 1004英语Magnetic ink character recognition
  • 1007
  • 1073-1英语OCR-A font
  • 1413英语ISO 1413
  • 1538
  • 1745英语ISO 1745
  • 1989
  • 2014英语ISO 2014
  • 2015英语ISO 2015
  • 2022
  • 2047英语ISO 2047
  • 2108
  • 2145
  • 2146英语ISO 2146
  • 2240
  • 2281英语Water Resistant mark
  • 2709英语ISO 2709
  • 2711英语ISO 2711
  • 2788英语ISO 2788
  • 2852英语ISO 2852
  • 3029英语126 film
  • 3103
  • 3166
  • 3297
  • 3307英语ISO 3307
  • 3602
  • 3758
  • 3864英语ISO 3864
  • 3901
  • 3977英语ISO 3977
  • 4031英语ISO 4031
  • 4157英语ISO 4157
  • 4217
  • 4909英语ISO/IEC 4909
  • 5218
  • 5428英语ISO 5428
  • 5775英语ISO 5775
  • 5776英语ISO 5776
  • 5800
  • 5807
  • 5964英语ISO 5964
  • 6166
  • 6344英语ISO 6344
  • 6346英语ISO 6346
  • 6385英语ISO 6385
  • 6425英语Water Resistant mark
  • 6429英语ANSI escape code
  • 6438
  • 6523英语ISO 6523
  • 6709
  • 7001
  • 7002英语ISO 7002
  • 7064英语ISO 7064
  • 7098
  • 7185
  • 7200英语ISO 7200
  • 7498
  • 7637
  • 7736英语ISO 7736
  • 7810
  • 7811英语ISO/IEC 7811
  • 7812
  • 7813英语ISO/IEC 7813
  • 7816
  • 8000
  • 8178英语ISO 8178
  • 8217
  • 8571英语FTAM
  • 8583英语ISO 8583
  • 8601
  • 8632
  • 8652英语ISO/IEC 8652
  • 8691英语ISO 8691
  • 8807英语Language Of Temporal Ordering Specification
  • 8820-5英语ISO/IEC 8820-5
  • 8859
  • 8879
  • 9000/9001
  • 9075
  • 9126
  • 9293
  • 9241英语ISO 9241
  • 9362
  • 9407
  • 9506英语Manufacturing Message Specification
  • 9529英语ISO 9529
  • 9564英语ISO 9564
  • 9594
  • 9660
  • 9897英语ISO 9897
  • 9899
  • 9945
  • 9984
  • 9985
  • 9995
10000–19999
  • 10005英语ISO 10005
  • 10006英语ISO 10006
  • 10007英语ISO 10007
  • 10116英语ISO/IEC 10116
  • 10118-3英语Whirlpool (cryptography)
  • 10160英语ISO 10160
  • 10161英语ISO 10161
  • 10165英语Guidelines for the Definition of Managed Objects
  • 10179英语Document Style Semantics and Specification Language
  • 10206
  • 10218英语ISO 10218
  • 10303
    • -11英语EXPRESS (data modeling language)
    • -21
    • -22英语ISO 10303-22
    • -28英语ISO 10303-28
    • -238英语STEP-NC
  • 10383英语ISO 10383
  • 10487英语ISO 10487
  • 10585
  • 10589
  • 10646
  • 10664
  • 10746英语RM-ODP
  • 10861英语Multibus
  • 10957
  • 10962英语ISO 10962
  • 10967英语ISO/IEC 10967
  • 11073英语ISO/IEEE 11073
  • 11170英语ISO 11170
  • 11179英语ISO/IEC 11179
  • 11404英语ISO/IEC 11404
  • 11544
  • 11783英语ISO 11783
  • 11784英语ISO 11784 & 11785
  • 11785英语ISO 11784 & 11785
  • 11801
  • 11898
  • 11940 (-2英语ISO 11940-2)
  • 11941英语ISO/TR 11941
  • 11941 (TR)英语ISO/TR 11941
  • 11992英语ISO 11992
  • 12006英语ISO 12006
  • 12182英语ISO/IEC TR 12182
  • 12207英语ISO/IEC 12207
  • 12234-2英语Tag Image File Format / Electronic Photography
  • 13211
  • 13216英语Isofix
  • 13250
  • 13399英语ISO 13399
  • 13406-2英语ISO 13406-2
  • 13450英语110 film
  • 13485英语ISO 13485
  • 13490英语ISO 13490
  • 13567英语ISO 13567
  • 13568英语Z notation
  • 13584英语ISO 13584
  • 13616
  • 14000
  • 14031
  • 14224英语ISO 14224
  • 14289英语PDF/UA
  • 14396
  • 14443
  • 14496
    • -2英语MPEG-4 Part 2
    • -3英语MPEG-4 Part 3
    • -6英语Delivery Multimedia Integration Framework
    • -10
    • -11英语MPEG-4 Part 11
    • -12英语MPEG-4 Part 12
    • -14
    • -17
    • -20
  • 14644英语ISO 14644
  • 14649英语STEP-NC
  • 14651英语ISO 14651
  • 14698英语ISO 14698
  • 14750英语ISO 14750
  • 14764
  • 14882
  • 14971英语ISO 14971
  • 15022英语ISO 15022
  • 15189英语ISO 15189
  • 15288英语ISO/IEC 15288
  • 15291英语Ada Semantic Interface Specification
  • 15292英语ISO 15292
  • 15398英语ISO 15398
  • 15408
  • 15444
    • -3英语Motion JPEG 2000
  • 15445
  • 15438
  • 15504
  • 15511
  • 15686英语ISO 15686
  • 15693英语ISO/IEC 15693
  • 15706
    • -2英语ISO 15706-2
  • 15707
  • 15897英语ISO 15897
  • 15919
  • 15924
  • 15926英语ISO 15926
  • 15926 WIP英语ISO 15926 WIP
  • 15930英语PDF/X
  • 16023英语MaxiCode
  • 16262
  • 16612-2英语PDF/VT
  • 16750
  • 16949 (TS)
  • 17024英语ISO/IEC 17024
  • 17025英语ISO/IEC 17025
  • 17100英语ISO 17100:2015
  • 17203
  • 17369英语SDMX
  • 17442英语Legal Entity Identifier
  • 17799
  • 18000英语ISO/IEC 18000
  • 18004
  • 18014英语ISO/IEC 18014
  • 18245英语ISO 18245
  • 18629英语Process Specification Language
  • 18916英语Photographic Activity Test
  • 19005
  • 19011英语ISO 19011
  • 19092 (-1英语ISO 19092-1
  • -2)英语ISO 19092-2
  • 19114英语ISO 19114
  • 19115英语ISO 19115
  • 19125英语Simple feature access
  • 19136
  • 19439英语ISO 19439
  • 19500
  • 19501
  • 19502
  • 19503英语XML Metadata Interchange
  • 19505
  • 19506英语Knowledge Discovery Metamodel
  • 19507英语Object Constraint Language
  • 19508
  • 19509英语XML Metadata Interchange
  • 19510
  • 19600:2014英语ISO 19600:2014
  • 19752英语ISO/IEC 19752
  • 19757英语RELAX NG
  • 19770英语ISO/IEC 19770
  • 19775-1
  • 19794-5英语ISO/IEC 19794-5
  • 19831英语Cloud Infrastructure Management Interface
20000+
  • 20000
  • 20022英语ISO 20022
  • 20121英语ISO 20121
  • 20400英语ISO 20400
  • 21000
  • 21047英语International Standard Text Code
  • 21500英语ISO 21500
  • 21827:2002英语ISO/IEC 21827
  • 22000
  • 22301
  • 23270
  • 23271
  • 23360
  • 24517英语PDF/E
  • 24613
  • 24617英语ISO-TimeML
  • 24707英语Common Logic
  • 24778
  • 25178英语ISO 25178
  • 25964英语ISO 25964
  • 26000英语ISO 26000
  • 26262
  • 26300
  • 26324
  • 27000 series
  • 27000英语ISO/IEC 27000
  • 27001
  • 27002
  • 27006英语ISO/IEC 27006
  • 27729
  • 28000英语ISO/PAS 28000
  • 29110英语ISO 29110
  • 29148英语Requirements engineering
  • 29199-2
  • 29500
  • 30170
  • 31000英语ISO 31000
  • 32000
  • 38500英语ISO/IEC 38500
  • 40500
  • 42010英语ISO/IEC 42010
  • 45001
  • 55000英语ISO 55000
  • 80000
    • -1英语ISO 80000-1
    • -2
    • -3英语ISO 80000-3
  • 参见:
  • 分类 ISO标准
  • 所有前缀有“ISO”的页面