{{위키데이터 속성 추적}}
{{Infobox character encoding
|image=Htop.png
|caption=ncurses 기반 애플리케이션 시스템 모니터 [[htop]]의 출력. {{ctrl|SGR|internal=1}} 및 기타 ANSI/ISO 컨트롤 시퀀스를 사용한다.
|name=ANSI X3.64 (ISO 6429)
|standard={{plainlist|
* [[Ecma 인터내셔널|ECMA]]-48
* [[ISO/IEC JTC 1|ISO/IEC]] 6429
* [[FIPS]] 86
* [[ANSI]] X3.64
* [[JIS X 0211]]}}
|classification=[[ISO/IEC 2022]] 기반 [[C0과 C1 컨트롤 코드|컨트롤 코드]] 및 컨트롤 시퀀스 세트
|otherrelated=기타 컨트롤 기능 표준: [[비디오텍스 문자 집합|ITU T.101]], [[JIS X 0207]], [[ISO 6630]], [[DIN 31626]], [[텔레텍스트 문자 집합|ETS 300 706]]
}}

'''ANSI 이스케이프 시퀀스'''(ANSI escape sequences)는 비디오 [[텍스트 터미널]] 및 [[터미널 에뮬레이터]]에서 커서 위치, 색, 글꼴 스타일, 그 밖의 옵션을 제어하는 [[대역 내 신호 방식]]을 위한 표준이다. 대부분 [[이스케이프 문자|ASCII 이스케이프]] 문자와 [[괄호]] 문자로 시작하는 특정 [[바이트]] 시퀀스들은 텍스트에 임베디드된다. 터미널은 이 시퀀스들을 텍스트가 아닌 명령으로 해석한다.

ANSI 시퀀스는 1970년대에 벤더 특화 시퀀스를 대체하기 위해 도입되었으며 1980년대 초 컴퓨터 장비 시장에서 널리 보급되었다. 이들은 표준화된 기능을 제공할 수 있도록 [[전자 게시판]]뿐 아니라 개발, 과학, 상업용 텍스트 기반 애플리케이션에 사용된다.

하드웨어 텍스트 터미널이 21세기에 증가하고 있음에도 ANSI 표준의 타당성은 지속되고 있는데 그 이유는 대부분의 터미널 에뮬레이터들과 명령 콘솔들이 적어도 ANSI 표준의 일부를 해석하고 있기 때문이다.

== 설명 ==

=== 제어 문자 ===
{| class="wikitable"
![[:en:Caret_notation|^]]
!C0
!Abbr
!Name
|- id="BEL"
|{{tt|^G}}
|7
|{{tt|BEL}}
|Bell
|- id="BS"
|{{tt|^H}}
|8
|{{tt|BS}}
|Backspace
|- id="HT"
|{{tt|^I}}
|9
|{{tt|HT}}
|Tab
|- id="LF"
|{{tt|^J}}
|0xA
|{{tt|LF}}
|Line Feed
|- id="FF"
|{{tt|^L}}
|0xC
|{{tt|FF}}
|Form Feed
|- id="CR"
|{{tt|^M}}
|0xD
|{{tt|CR}}
|{{nobr|Carriage Return}}
|- id="ESC"
|{{tt|^[}}
|0x1B
|{{tt|ESC}}
|Escape
|}

=== Fe 이스케이프 시퀀스 ===
{| class="wikitable"
!
!C1
!Abbr
!Name
|- id="SS2"
|{{tt|ESC N}}
|{{tt|0x8E}}
|{{tt|SS2}}
|Single Shift Two
|- id="SS3"
|{{nobr|{{tt|ESC O}}}}
|{{tt|0x8F}}
|{{tt|SS3}}
|Single Shift Three
|- id="DCS"
|{{tt|ESC P}}
|{{tt|0x90}}
|{{tt|DCS}}
|Device Control String
|- id="CSI"
|{{tt|ESC [}}
|{{tt|0x9B}}
|{{tt|CSI}}
|[[:en:ANSI_escape_code#CSIsection|Control Sequence Introducer]]
|- id="ST"
|{{tt|ESC \}}
|{{tt|0x9C}}
|{{tt|ST}}
|String Terminator
|-
|{{tt|ESC ]}}
|{{tt|0x9D}}
|{{tt|OSC}}
|[[:en:ANSI_escape_code#OSC|Operating System Command]]
|- id="SOS"
|{{tt|ESC X}}
|{{tt|0x98}}
|{{tt|SOS}}
|Start of String
|- id="PM"
|{{tt|ESC ^}}
|{{tt|0x9E}}
|{{tt|PM}}
|Privacy Message
|- id="APC"
|{{tt|ESC _}}
|{{tt|0x9F}}
|{{tt|APC}}
|{{nobr|Application Program Command}}
|}

=== CSI (Control Sequence Introducer) 시퀀스 ===
{| class="wikitable"
!
!Abbr
!Name
|- id="CUU"
| style="font-family:monospace;" |CSI {{var|n}} A
|{{tt|CUU}}
|Cursor Up
|- id="CUD"
| style="font-family:monospace;" |CSI {{var|n}} B
|{{tt|CUD}}
|Cursor Down
|- id="CUF"
| style="font-family:monospace;" |CSI {{var|n}} C
|{{tt|CUF}}
|Cursor Forward
|- id="CUB"
| style="font-family:monospace;" |CSI {{var|n}} D
|{{tt|CUB}}
|Cursor Back
|- id="CNL"
| style="font-family:monospace;" |CSI {{var|n}} E
|{{tt|CNL}}
|Cursor Next Line
|- id="CPL"
| style="font-family:monospace;" |CSI {{var|n}} F
|{{tt|CPL}}
|Cursor Previous Line
|- id="CHA"
| style="font-family:monospace;" |CSI {{var|n}} G
|{{tt|CHA}}
|{{nobr|Cursor Horizontal Absolute}}
|- id="CUP"
| style="font-family:monospace;" |CSI&nbsp;{{var|n}}&nbsp;;&nbsp;{{var|m}}&nbsp;H
|{{tt|CUP}}
|Cursor Position
|- id="ED"
| style="font-family:monospace;" |CSI {{var|n}} J
|{{tt|ED}}
|Erase in Display
|- id="EL"
| style="font-family:monospace;" |CSI {{var|n}} K
|{{tt|EL}}
|Erase in Line
|- id="SU"
| style="font-family:monospace;" |CSI {{var|n}} S
|{{tt|SU}}
|Scroll Up
|- id="SD"
| style="font-family:monospace;" |CSI {{var|n}} T
|{{tt|SD}}
|Scroll Down
|- id="HVP"
| style="font-family:monospace;" |CSI {{var|n}} ; {{var|m}} f
|{{tt|HVP}}
|{{nobr|Horizontal Vertical Position}}
|-
| style="font-family:monospace;" |CSI {{var|n}} m
|{{tt|SGR}}
|[[:en:ANSI_escape_code#SGR|Select Graphic Rendition]]
|- id="AUX"
| style="font-family:monospace;" |CSI 5i
|
|AUX Port On
|- id="noAUX"
| style="font-family:monospace;" |CSI 4i
|
|AUX Port Off
|- id="DSR"
| style="font-family:monospace;" |CSI 6n
|{{tt|DSR}}
|Device Status Report
|}
비공개 시퀀스
{| class="wikitable"
!
!Abbr
!Name
|- id="SCP"
| style="font-family:monospace;" |CSI s
|{{tt|SCP, SCOSC}}
|Save Current Cursor Position
|- id="RCP"
| style="font-family:monospace;" |CSI u
|{{tt|RCP, SCORC}}
|{{nobr|Restore Saved Cursor Position}}
|-
| style="font-family:monospace;" |CSI ? 25 h
|{{tt|DECTCEM}}
|
|-
| style="font-family:monospace;" |CSI ? 25 l
|{{tt|DECTCEM}}
|
|-
| style="font-family:monospace;" |CSI ? 1049 h
|
|
|-
| style="font-family:monospace;" |CSI ? 1049 l
|
|
|-
| style="font-family:monospace;" |CSI&nbsp;?&nbsp;2004&nbsp;h
|
|
|-
| style="font-family:monospace;" |CSI ? 2004 l
|
|
|}

=== SGR (Select Graphic Rendition) 파라미터 ===
{| class="wikitable"
!
!Name
|-
|{{tt|0}}
|Reset ''or'' normal
|-
|{{tt|1}}
|Bold or increased intensity
|-
|{{tt|2}}
|Faint, decreased intensity, ''or'' dim
|-
|{{tt|3}}
|Italic
|-
|{{tt|4}}
|Underline
|-
|{{tt|5}}
|Slow blink
|-
|{{tt|6}}
|Rapid blink
|-
|{{tt|7}}
|[[:en:Reverse_video|Reverse video]] ''or'' invert
|-
|{{tt|8}}
|Conceal ''or'' hide
|-
|{{tt|9}}
|[[:en:Strikethrough|Crossed-out]], ''or'' strike
|-
|{{tt|10}}
|Primary (default) font
|-
|{{tt|11–19}}
|Alternative font
|-
|{{tt|20}}
|[[:en:Blackletter|Blackletter]] font
|-
|{{tt|21}}
|Doubly underlined; or: not bold
|-
|{{tt|22}}
|Normal intensity
|-
|{{tt|23}}
|Neither italic, nor blackletter
|-
|{{tt|24}}
|Not underlined
|-
|{{tt|25}}
|Not blinking
|-
|{{tt|26}}
|Proportional spacing
|-
|{{tt|27}}
|Not reversed
|-
|{{tt|28}}
|Reveal
|-
|{{tt|29}}
|Not crossed out
|-
|{{tt|30–37}}
|Set foreground [[:en:ANSI_escape_code#3-bit_and_4-bit|color]]
|-
|{{tt|38}}
|Set foreground [[:en:ANSI_escape_code#8-bit|color]]
|-
|{{tt|39}}
|Default foreground color
|-
|{{tt|40–47}}
|Set background [[:en:ANSI_escape_code#3-bit_and_4-bit|color]]
|-
|{{tt|48}}
|Set background [[:en:ANSI_escape_code#8-bit|color]]
|-
|{{tt|49}}
|Default background color
|-
|{{tt|50}}
|Disable proportional spacing
|-
|{{tt|51}}
|Framed
|-
|{{tt|52}}
|Encircled
|-
|{{tt|53}}
|Overlined
|-
|{{tt|54}}
|Neither framed nor encircled
|-
|{{tt|55}}
|Not overlined
|-
|{{tt|58}}
|Set underline [[:en:ANSI_escape_code#8-bit|color]]
|-
|{{tt|59}}
|Default underline color
|-
|{{tt|60}}
|Ideogram underline or right side line
|-
|{{tt|61}}
|Ideogram double underline, ''or'' double line on the right side
|-
|{{tt|62}}
|Ideogram overline or left side line
|-
|{{tt|63}}
|Ideogram double overline, ''or'' double line on the left side
|-
|{{tt|64}}
|Ideogram stress marking
|-
|{{tt|65}}
|No ideogram attributes
|-
|{{tt|73}}
|Superscript
|-
|{{tt|74}}
|Subscript
|-
|{{tt|75}}
|Neither superscript nor subscript
|-
|{{tt|90–97}}
|Set bright foreground color
|-
|{{tt|{{nobr|100–107}}}}
|Set bright background color
|}

=== Fs 이스케이프 시퀀스 ===
{| class="wikitable"
!
!Abbr
!Name
|- id="RIS"
|{{nobr|{{tt|ESC c}}}}
|{{tt|RIS}}
|{{nobr|Reset to Initial State}}
|}

=== Fp 이스케이프 시퀀스 ===
{| class="wikitable"
!
!Abbr
!Name
|- id="DECSC"
|{{nobr|{{tt|ESC 7}}}}
|{{tt|DECSC}}
|DEC Save Cursor
|- id="DECRC"
|{{tt|ESC 8}}
|{{tt|DECRC}}
|{{nobr|DEC Restore Cursor}}
|}

=== nF 이스케이프 시퀀스 ===
{| class="wikitable"
!
!Abbr
!Name
|- id="ACS6"
|{{tt|ESC SP F}}
|{{plainlist|* ACS6
* S7C1T|style=font-family:monospace}}
|{{plainlist|* Announce Code Structure 6
* {{nowrap|Send 7-bit C1 Control Character to the Host}}}}
|- id="ACS7"
|{{nobr|{{tt|ESC SP G}}}}
|{{plainlist|* ACS7
* S8C1T|style=font-family:monospace}}
|{{plainlist|* Announce Code Structure 7
* {{nowrap|Send 8-bit C1 Control Character to the Host}}}}
|}

=== 터미널 입력 시퀀스 ===
<pre>
vt sequences:
<esc>[1~    - Home        <esc>[16~   -             <esc>[31~   - F17
<esc>[2~    - Insert      <esc>[17~   - F6          <esc>[32~   - F18
<esc>[3~    - Delete      <esc>[18~   - F7          <esc>[33~   - F19
<esc>[4~    - End         <esc>[19~   - F8          <esc>[34~   - F20
<esc>[5~    - PgUp        <esc>[20~   - F9          <esc>[35~   - 
<esc>[6~    - PgDn        <esc>[21~   - F10         
<esc>[7~    - Home        <esc>[22~   -             
<esc>[8~    - End         <esc>[23~   - F11         
<esc>[9~    -             <esc>[24~   - F12         
<esc>[10~   - F0          <esc>[25~   - F13         
<esc>[11~   - F1          <esc>[26~   - F14         
<esc>[12~   - F2          <esc>[27~   -             
<esc>[13~   - F3          <esc>[28~   - F15         
<esc>[14~   - F4          <esc>[29~   - F16         
<esc>[15~   - F5          <esc>[30~   -

xterm sequences:
<esc>[A     - Up          <esc>[K     -             <esc>[U     -
<esc>[B     - Down        <esc>[L     -             <esc>[V     -
<esc>[C     - Right       <esc>[M     -             <esc>[W     -
<esc>[D     - Left        <esc>[N     -             <esc>[X     -
<esc>[E     -             <esc>[O     -             <esc>[Y     -
<esc>[F     - End         <esc>[1P    - F1          <esc>[Z     -
<esc>[G     - Keypad 5    <esc>[1Q    - F2       
<esc>[H     - Home        <esc>[1R    - F3       
<esc>[I     -             <esc>[1S    - F4       
<esc>[J     -             <esc>[T     - 
</pre>

== 같이 보기 ==
* [[ANSI 아트]]
* [[제어 문자]]
== 외부 링크 ==
* [https://www.ecma-international.org/publications-and-standards/standards/ecma-48/ 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)
* [http://vt100.net/docs/ vt100.net DEC Documents]
* {{웹 인용|url=http://enterprise.aacc.cc.md.us/~rhs/ansi.html |title=ANSI.SYS -- ansi terminal emulation escape sequences |access-date=22 February 2007 |archive-url=https://web.archive.org/web/20060206022229/http://enterprise.aacc.cc.md.us/~rhs/ansi.html |archive-date=6 February 2006 |url-status=dead |df=dmy-all }}
* [http://invisible-island.net/xterm/ctlseqs/ctlseqs.html Xterm / Escape Sequences]
* [https://www.ibm.com/support/knowledgecenter/en/ssw_aix_72/a_commands/aixterm.html AIXterm / Escape Sequences]
* [http://bjh21.me.uk/all-escapes/all-escapes.txt A collection of escape sequences for terminals that are vaguely compliant with ECMA-48 and friends.]
* {{웹 인용|url=http://ascii-table.com/ansi-escape-sequences.php|title=ANSI Escape Sequences|archive-url=https://web.archive.org/web/20110525032501/http://ascii-table.com/ansi-escape-sequences.php|archive-date=25 May 2011}}
* [https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-T.416-199303-I!!PDF-E&type=items ITU-T Rec. T.416 (03/93) Information technology – Open Document Architecture (ODA) and interchange format: Character content architectures]

{{문자 인코딩}}
{{ISO 표준}}

{{전거 통제}}

[[분류:컴퓨터 표준]]
[[분류:Ecma 표준]]
[[분류:ANSI 표준]]
[[분류:ISO 표준]]
[[분류:텍스트 사용자 인터페이스]]