更改

跳到导航 跳到搜索

ANSI转义序列

删除99字节2019年9月20日 (五) 20:13
历史
== 历史 ==
最初,几乎每个视频终端制造商都各自添加了特定的转义序列用于执行一些特殊操作,比如把光标置于屏幕上的某个位置。举例来说,{{Tsl|en|VT52}}终端允许通过发送最初,几乎每个视频终端制造商都各自添加了特定的转义序列用于执行一些特殊操作,比如把光标置于屏幕上的某个位置。举例来说,VT52终端允许通过发送<code>ESC</code>字符、<code>y</code>字符,后面跟上两个等于x,y位置的数值加上32的字符(这是为了从ASCII空格字符开始,并避开控制字符),将光标置于屏幕上的x,y位置。
由于这些序列对于不同的终端并不一样,因此人们不得不开发了一些复杂的库(比如{{Tsl|en|termcap}})和实用程序(比如{{Tsl|en|tput}}),以便程序可以使用同一套由于这些序列对于不同的终端并不一样,因此人们不得不开发了一些复杂的库(比如termcap)和实用程序(比如tput),以便程序可以使用同一套[[API]]应对各种终端。另外,在很多终端中需要借助字符的二进制值发送数字(如行和列)。对于某些编程语言,以及内部不使用ASCII的系统来说,把数字转换为正确的字符常常是有困难的,甚至完全做不到。
ANSI标准试图解决这些问题。标准制订了一种所有终端共用的指令集,并要求用ASCII的数字字符传递所有数值信息。该系列的第一个标准是1976年通过的ECMA-48。它是一系列字符编码标准的延续,其中第一个是从1965年的{{Tsl|en|ECMA48。它是一系列字符编码标准的延续,其中第一个是从1965年的ECMA-6}},一个76,一个7[[位元|位]]标准,[[ISO 646]]就源自此标准。“ANSI转义序列”的名称可以追溯到1979年[[ANSI]]采用ANSI X3.64。此外,ANSI X3L2委员会与[[ECMA]]委员会TC 1合作制订了一个几乎一模一样的标准。以上两个标准合并为ISO 6429的国际标准<ref>[http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-48,%202nd%20Edition,%20August%201979.pdf Historical version of ECMA-48]</ref>。1994年,ANSI取消了其标准,以支持国际标准。
第一个支持这个标准的流行视频终端是1978年推出的[[迪吉多|Digital]] {{Tsl|en|VT100}}<ref>{{cite web |url=http://vt100.net/vt_history |title=Digital's Video Terminals |publisher=VT100.net |author-first=Paul |author-last=Williams |date=2006 |access-date=2011-08-17 }}{{dead link|date=2018年2月 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>。这个终端在市场上非常成功,引发了各种各样的仿制品,其中最早和最流行的是1979年的{{tsl|en|Zenith 。这个终端在市场上非常成功,引发了各种各样的仿制品,其中最早和最流行的是1979年的Zenith Z-89|Zenith Z-19}}<ref>{{cite web |url=http://www.pestingers.net/Computer_history/Computers_79.htm |title=Heathkit Catalog 1979 |author=Heathkit Company |date=1979 |publisher=Heathkit Company |access-date=2011-11-04 |dead-url=yes |archive-url=https://web.archive.org/web/20120113230301/http://www.pestingers.net/Computer_history/Computers_79.htm |archive-date=2012-01-13}}</ref><!-- Document at http://www.retroarchive.org/hardware/heathkit/H19CODES.DOC shows that you "Enter ANSI mode" with ESC <, but does not document the result --><!-- H-19 Esc < switches into ANSI mode, requiring a proprietary ANSI extended escape code to return to VT52 (Heathkit) mode. -->。其他品牌还有{{Tsl|en|Qume}} 。其他品牌还有Qume QVT-108,{{Tsl|en|Televideo}} 108,Televideo TVI-970,{{Tsl|en|Wyse}} 970,Wyse WY-99GT。另外,许多其他品牌的终端也不同程度地兼容可选的“VT100”、“VT103”或“ANSI”模式。 随着越来越多的软件(尤其是[[BBS|BBS系统]])普及,越来越多的软件依赖转义序列起作用,导致几乎所有新的终端和终端模拟器都支持了此标准。
1981年,ANSI X3.64被美国政府采用([[联邦资料处理标准|FIPS]] 86)。后来,美国政府停止复制行业标准,所以FIPS 86又被撤回了<ref>[https://www.nist.gov/itl/upload/Withdrawn-FIPS-by-Numerical-Order-Index2.pdf Withdrawn FIPS Listed by Number]</ref>。

导航菜单