fbpx
Wikipedia

C0 and C1 control codes

The C0 and C1 control code or control character sets define control codes for use in text by computer systems that use ASCII and derivatives of ASCII. The codes represent additional information about the text, such as the position of a cursor, an instruction to start a new line, or a message that the text has been received.

C0 codes are the range 00HEX–1FHEX and the default C0 set was originally defined in ISO 646 (ASCII). C1 codes are the range 80HEX–9FHEX and the default C1 set was originally defined in ECMA-48 (harmonized later with ISO 6429). The ISO/IEC 2022 system of specifying control and graphic characters allows other C0 and C1 sets to be available for specialized applications, but they are rarely used.

C0 controls edit

 
Early symbols assigned to the 32 control characters, space and delete characters. (ISO 2047, MIL-STD-188-100, 1972)

ASCII defined 32 control characters, plus a necessary extra character for the DEL character, 7FHEX or 01111111BIN (needed to punch out all the holes on a paper tape and erase it).

This large number of codes was desirable at the time, as multi-byte controls would require implementation of a state machine in the terminal, which was very difficult with contemporary electronics and mechanical terminals. Since then, only a few of the original controls have maintained their use: the "whitespace" range of BS, TAB, LF, VT, FF, and CR; the BEL code; and ESC (but almost always as part of an ESC,'[' CSI representation starting an ANSI escape sequence). Others are unused or have acquired different meanings such as NUL being the C string terminator.

Some serial transmission protocols such as ANPA-1312, Kermit, and XMODEM do make extensive use of control characters SOH, STX, ETX, EOT, ACK, NAK and SYN for purposes approximating their original definitions.

Basic ASCII control codes edit

These are the standard ASCII control codes, originally defined in ANSI X3.4. If using the ISO/IEC 2022 extension mechanism, they are designated as the active C0 control character set with the octet sequence 0x1B 0x21 0x40 (ESC ! @).[1]

Decimal
Hexadecimal
Abbreviation
Symbol
Name Description
^@ 00 00 NUL Null \0 Originally used to allow gaps to be left on paper tape for edits. Later used for padding after a code that might take a terminal some time to process (e.g. a carriage return or line feed on a printing terminal). Now often used as a string terminator, especially in the programming language C.
^A 01 01 SOH Start of Heading In message transmission, delimits the start of a message header. The format of this header may be defined by an applicable protocol, such as IPTC 7901 for journalistic text transmission, and it is usually terminated by STX.[2] In Hadoop and FIX, it is often used as a field separator.
^B 02 02 STX Start of Text First character of message text, and may be used to terminate the message heading.
^C 03 03 ETX End of Text In message transmission, delimits the end of the main text of a message. Might be followed by "post-text information" (i.e. a structured footer) defined by an applicable protocol[2] or by any additional texts,[3] followed by EOT.[2][3] In keyboard input, often used as a "break" character (Ctrl-C) to interrupt or terminate a program or process.
^D 04 04 EOT End of Transmission Delimits the end of a transmitted message, which may include a header, message text and post-text footer,[2] or even multiple texts and associated headings.[3] May also be used to place terminals on standby.[3] Often used on Unix to indicate end-of-file on a terminal, interpreted by the shell as the command exit or logout.
^E 05 05 ENQ Enquiry Signal intended to trigger a response at the receiving end, to see if it is still present.
^F 06 06 ACK Acknowledge Response to an ENQ, or an indication of successful receipt of a message.
^G 07 07 BEL[a] Bell, Alert \a Originally used to sound a bell on the terminal. Later used for a beep on systems that had no physical bell. May also quickly turn on and off inverse video (a visual bell).
^H 08 08 BS Backspace \b Move the cursor one position leftwards. On input, this may delete the character to the left of the cursor. On output, where in early computer technology a character once printed could not be erased, the backspace was sometimes used to generate accented characters in ASCII. For example, à could be produced using the three character sequence a BS ` (or, using the characters' hex values, 0x61 0x08 0x60). This usage is now generally not supported (it is prohibited in, for instance, ISO/IEC 8859).[9] To provide disambiguation between the two potential uses of backspace, the cancel character control code was made part of the standard C1 control set.
^I 09 09 HT Character Tabulation, Horizontal Tabulation \t Position to the next character tab stop.
^J 10 0A LF Line Feed \n On typewriters, printers, and some terminal emulators, moves the cursor down one row without affecting its column position. On Unix, used to mark end-of-line. In DOS, Windows, and various network standards, LF is used following CR as part of the end-of-line mark.
^K 11 0B VT Line Tabulation, Vertical Tabulation \v Position the form at the next line tab stop.
^L 12 0C FF Form Feed \f On printers, load the next page. Treated as whitespace in many programming languages, and may be used to separate logical divisions in code. In some terminal emulators, it clears the screen. It still appears in some common plain text files as a page break character, such as the RFCs published by IETF.
^M 13 0D CR Carriage Return \r Originally used to move the cursor to column zero while staying on the same line. On classic Mac OS (pre-Mac OS X), as well as in earlier systems such as the Apple II and Commodore 64, used to mark end-of-line. In DOS, Windows, and various network standards, it is used preceding LF as part of the end-of-line mark. The Enter or Return key on a keyboard will send this character, but it may be converted to a different end-of-line sequence by a terminal program.
^N 14 0E SO Shift Out Switch to an alternative character set.
^O 15 0F SI Shift In Return to regular character set after Shift Out.
^P 16 10 DLE Data Link Escape Cause a limited number of contiguously following octets to be interpreted in some different way,[10] for example as raw data (as opposed to control codes or graphic characters). The details of this are implementation dependent.

Standards such as (the now-withdrawn) ECMA-37 existed for specific applications of the Data Link Escape character for accessing additional transmission control functions.[11]

Standard Compression Scheme for Unicode suggests replacing all C0-range bytes with DLE, followed by that byte plus 0x40, if SCSU data must be transmitted over a system which would be confused by SCSU's repurposing of the C0 bytes.[12]

^Q 17 11 DC1 Device Control One (XON) These four control codes are reserved for device control, with the interpretation dependent upon the device to which they were connected. DC1 and DC2 were intended primarily to indicate activating a device while DC3 and DC4 were intended primarily to indicate pausing or turning off a device. DC1 and DC3 (known also as XON and XOFF respectively in this usage) originated as the "start and stop remote paper-tape-reader" functions in ASCII Telex networks. This teleprinter usage became the de facto standard for software flow control.[13]
^R 18 12 DC2 Device Control Two
^S 19 13 DC3 Device Control Three (XOFF)
^T 20 14 DC4 Device Control Four
^U 21 15 NAK Negative Acknowledge Sent by a station as a negative response to the station with which the connection has been set up. In binary synchronous communication protocol, the NAK is used to indicate that an error was detected in the previously received block and that the receiver is ready to accept retransmission of that block. In multipoint systems, the NAK is used as the not-ready reply to a poll.
^V 22 16 SYN Synchronous Idle Used in synchronous transmission systems to provide a signal from which synchronous correction may be achieved between data terminal equipment, particularly when no other character is being transmitted.
^W 23 17 ETB End of Transmission Block Indicates the end of a transmission block of data when data are divided into such blocks for transmission purposes.

If it is not in use for another purpose, IPTC 7901 recommends interpreting ETB as an end of paragraph character.[2]

^X 24 18 CAN Cancel Indicates that the data preceding it are in error or are to be disregarded.
^Y 25 19 EM End of medium Intended as means of indicating on paper or magnetic tapes that the end of the usable portion of the tape had been reached. It might also mark the end of the used portion of the medium, and does not necessarily correspond to the physical end of medium.[1]

If it is not in use for another purpose, IPTC 7901 recommends repurposing EM as an em space for indenting the first line of a paragraph[2] (see also EMSP).

^Z 26 1A SUB Substitute Originally intended for use as a transmission control character to indicate that garbled or invalid characters had been received. It has often been put to use for other purposes when the in-band signaling of errors it provides is unneeded, especially where robust methods of error detection and correction are used, or where errors are expected to be rare enough to make using the character for other purposes advisable. In DOS, Windows, CP/M, and derivatives of Digital Equipment Corporation operating systems, it is used to indicate the end of file, both when typing on the terminal, and sometimes in text files stored on disk.
^[ 27 1B ESC Escape \e
[b]
The Esc key on the keyboard will cause this character to be sent on most systems. It can be used in software user interfaces to exit from a screen, menu, or mode, or in device-control protocols (e.g., printers and terminals) to signal that what follows is a special command sequence rather than normal text. In systems based on ISO/IEC 2022, even if another set of C0 control codes are used, this octet is required to always represent the escape character.

^\ 28 1C FS File Separator Can be used as delimiters to mark fields of data structures. If used for hierarchical levels, US is the lowest level (dividing plain-text data items), while RS, GS, and FS are of increasing level to divide groups made up of items of the level beneath it.

The Unix info format uses US, followed by an optional form-feed and a line break, to mark the beginning of a node.[14]

MARC 21 uses US as a subfield delimiter, RS as a field terminator and GS as a record terminator.[15]

In the current edition of IPTC 7901, if they are not used for other purposes, US is recommended for use as a column separator in tables, FS as a "Central Field Separator" in tables, and GS and RS respectively for marking a following space or hyphen-minus as non-breaking or soft respectively (in character sets not supplying explicit NBSP and SHY characters).[2]

Python's splitlines string method treats FS, GS and RS, but not US, as separators in addition to the line-breaking characters.[16]

^] 29 1D GS Group Separator
^^ 30 1E RS Record Separator
^_ 31 1F US Unit Separator
While not technically part of the C0 control character range, the following two characters are defined in ISO/IEC 2022 as always being available regardless of which sets of control characters and graphics characters have been registered. They can be thought of as having some characteristics of control characters.
  32 20 SP Space Space is a graphic character. It has a visual representation consisting of the absence of a graphic symbol. It causes the active position to be advanced by one character position. In some applications, Space can be considered a lowest-level "word separator" to be used with the adjacent separator characters.
^? 127 7F DEL Delete Not technically part of the C0 control character range, this was originally used to mark deleted characters on paper tape, since any character could be changed to all ones by punching holes everywhere. On VT100 compatible terminals, this is the character generated by the key labelled ⌫, usually called backspace on modern machines, and does not correspond to the PC delete key.

Category-Number names edit

Several of the basic ASCII control codes are classified into a few categories, and sometimes given alternative abbreviated names consisting of that category and a number:[1]

  • Transmission controls:[1] TC1 (SOH), TC2 (STX), TC3 (ETX), TC4 (EOT), TC5 (ENQ), TC6 (ACK), TC7 (DLE), TC8 (NAK), TC9 (SYN), TC10 (ETB).
  • Format effectors:[1] FE0 (BS), FE1 (HT), FE2 (LF), FE3 (VT), FE4 (FF), FE5 (CR).
  • Device controls:[1] DC1, DC2, DC3, DC4.
  • Information separators:[1] IS1 (US), IS2 (RS), IS3 (GS), IS4 (FS).
  • Locking shifts:[17] LS0 (SI), LS1 (SO).
  • Others: NUL, BEL, CAN, EM, SUB, ESC.

ISO/IEC 2022 (ECMA-35) refers to the C0 locking shifts as LS0 and LS1 in 8-bit environments, and as SI and SO in 7-bit environments.[17]

The first, 1963 edition of ASCII classified DLE as a device control, rather than a transmission control, and gave it the abbreviation DC0 ("device control reserved for data link escape").[18]

Format effector (FE) codes define and actuate formatting (such as line breaks) which affects how graphical characters are laid out and rendered, as opposed to controlling other functions of hardware devices or having other side effects. The C0 format effectors are permitted in ISO/IEC 6429 DCS, OSC, PM and APC sequences. The information separators and C0 format effectors (minus BS) are the only C0 control codes with semantics defined by the Unicode Standard, the interpretation of the remainder of the C0 controls being left to higher-level protocols.[19]

ISO/IEC 2022 (ECMA-35) requires that if C0 control code sets include the ten ASCII transmission control (TC) codes, they must be encoded at their ASCII locations.[20] It also prohibits those ten transmission controls from being included in a C1 control code set,[21] and prohibits transmission controls besides those ten from being included in a C0 control set.[20]

Modified C0 control code sets edit

Although C0 control code sets usually preserve most of the ASCII control codes unchanged, a number are registered which replace certain control functions with alternatives. A selection of these, excluding those related to Videotex, are shown below.

Seq Dec Hex Replaced In code set(s) Abbrev Name Description
^I 09 09 HT NATS,[22] IPTC[23] FO Formatting Used in tabular data to move to the next tabulation position (retaining "Tab" semantics in this regard), and in standard formats to denote the next phase. The current IPTC specification instead recommends using regular ASCII C0 controls, and using the US control as a column break in tables.[2]
^K 11 0B VT NATS,[22] IPTC[23] ECD End of Instruction Delimits the end of a typographical instruction intended for the typesetting device.
^L 12 0C FF NATS,[22] IPTC[23] SCD Start of Instruction Delimits the start of a typographical instruction intended for the typesetting device.
^M 13 0D CR NATS,[22] IPTC[23] QL Quad Left Terminates a line, indicating that it should be left-aligned. The current IPTC specification instead recommends using regular ASCII C0 controls, and representing this function with the < CR LF sequence.[2]
^N 14 0E SO NATS[22] UR Upper Rail Starts an emphasised region of text. Used in Scandinavian journalistic text transmission as of 1975;[22] IPTC recommendations as of 1976 used FT2 and FT3 instead (see below).[23] The current IPTC specification instead recommends using regular ASCII C0 controls, and marking up this function with the ^ character.[2]
^O 15 0F SI NATS[22] LR Lower Rail Ends an emphasised region of text. Used in Scandinavian journalistic text transmission as of 1975;[22] IPTC recommendations as of 1976 used FT1 instead (see below).[23] The current IPTC specification instead recommends using regular ASCII C0 controls, and marking up this function with the @ character.[2]
^Q 17 11 DC1 IPTC[23] FT1 Font One Switches to regular typeface, i.e. disables bold or italic.
^R 18 12 DC2 IPTC[23] FT2 Font Two Switches to italic typeface.
^S 19 13 DC3 IPTC[23] FT3 Font Three Switches to bold typeface.
^X 24 18 CAN NATS,[22] IPTC[23] KW Kill Word Deletes the preceding word (deletes back to and including the last space, or back to and excluding the previous line break, whichever it encounters first). Retains "Cancel" semantics in this respect, but has a more specific function.
^Y 25 19 EM T.61/T.51,[24] Standalone[25] SS2 Single Shift Two Non-locking shift code for G2; a C0 representation allowing it to be represented with one byte in a 7-bit environment.
^\ 28 1C FS NATS,[22] IPTC,[23] Standalone[26] SS, SS2 Super Shift or Single Shift Two Non-locking shift code.
JIS C 6225[27] CEX Control Extension Introduces a control sequence as specified by the now-withdrawn JIS C 6225, designated JIS X 0207 in later sources.[28] These included sequences for controlling vertical text behaviour, superscripts and subscripts,[29] and for transmitting custom character graphics.[28]
^] 29 1D GS NATS,[22] IPTC[23] QC Quad Centre Terminates a line, indicating that it should be centred.
T.61/T.51[24] SS3 Single Shift Three Non-locking shift code for G3; a C0 representation allowing it to be represented with one byte in a 7-bit environment.
^^ 30 1E RS NATS,[22] IPTC[23] QR Quad Right Terminates a line, indicating that it should be right-aligned.
^_ 31 1F US NATS,[22] IPTC[23] JY Justify Terminates a line which is to be justified.

Other C0 control code sets edit

Teletext defines an entirely different set of control codes. In formats where compatibility with ECMA-48's C0 control codes is not required, these control codes are sometimes mapped transparently to the Unicode C0 control code range (U+0000 through U+001F).[30]

C1 controls edit

In parallel to the development of the 1972 edition of ISO 646, which revised the standard to introduce the concept of national versions of the code in addition to the US-originated ASCII, work was also underway with the purpose of defining extension mechanisms for ASCII, applicable to both 7-bit and 8-bit environments, which would be published as ECMA-35 and ISO 2022.[31]

These mechanisms were designed so that any conformant 8-bit code could be converted to a corresponding 7-bit code, and vice versa.[32] In a 7-bit environment, the Shift Out (SO) control would change the meaning of the 94 bytes 0x21 through 0x7E (i.e. the graphical codes, excluding the space) to invoke characters from an alternative set, and the Shift In (SI) control would change them back.[33] In an 8-bit environment, instead of using shift codes, the eighth bit was set on a byte referencing the additional graphic character set. This meant that bytes 0xA1 through 0xFE were used for the additional graphic characters. The C0 control characters, being unaffected by the shift state of a 7-bit code, were to always be represented in an 8-bit code with the eighth bit unset.[32] The consequently otherwise-unused bytes in the range 0x80 through 0x9F could be used for additional control codes, which would instead be represented as 0x1B 0x40 through 0x1B 0x5F (ESC @ through ESC _) in a 7-bit code.[32] These additional control codes become known as the C1 control codes. To retain compatibility with the 7-bit representation, the behaviour of bytes 0xA0 and 0xFF was originally left undefined.[34]

The first C1 control code set to be registered for use with ISO 2022 was DIN 31626,[35] a specialised set for bibliographic use which was registered in 1979.[36] The general-use ISO/IEC 6429 set was registered in 1983,[37] although the ECMA-48 specification upon which it was based had been first published in 1976.[38]

Further editions of the standards altered the provisions to an extent. For instance, a further revision to ECMA-35 and ISO 2022 in 1985 introduced the concept of a 96-code graphical character set.[39] In an 8-bit code, this allowed the entire range from 0xA0 to 0xFF to be used for graphical characters. Use of 96-code sets also meant that the meaning of the bytes 0x20 and 0x7F in the corresponding 7-bit code could differ from "Space" and "Delete", unless the code was in the Shift In state.[40] Using 96-code sets for the G0 (Shift In) set was not made possible.[39]

In accordance with this revised 8-bit ISO 2022 code structure, ISO 8859 defines sets of characters to be encoded over 0xA0–FF, in combination with the ASCII graphical characters over 0x20–7E, and reserves the bytes outside of these ranges for use as non-graphical codes by other specifications such as ISO/IEC 6429.[41] Unicode inherits its first 256 code points from ISO 8859-1, hence also incorporating a range reserved for a C1 control code set, although it mostly leaves their function to be defined by higher level protocols, with ISO/IEC 6429 suggested as a default.[19]

C1 control codes for general use edit

These are the most common extended control codes, and are defined in ISO/IEC 6429, ECMA-48 and JIS X 0211 (formerly JIS C 6323).[42] If using the ISO/IEC 2022 extension mechanism, they are designated as the active C1 control character set with the sequence 0x1B 0x22 0x43 (ESC " C).[37] Although Unicode does not require a particular C1 control code set, leaving their interpretation to be specified by higher-level protocols, and only specifies a behaviour for U+0085, it suggests interpreting C1 control codes as specified in ISO/IEC 6429 in the absence of use for other purposes.[19] Also listed in the table below are three control codes listed alongside the ISO/IEC 6429 codes in RFC 1345, but not actually defined by ISO/IEC 6429 (PAD, HOP and SGC).[5][43]

Except for SS2 and SS3 in EUC-JP text, and NEL in text transcoded from EBCDIC, the 8-bit forms of these codes are almost never used. CSI, DCS and OSC are used to control text terminals and terminal emulators, but almost always by using their 7-bit escape code representations. Their ISO/IEC 2022 compliant single-byte representations are invalid in UTF-8, and the UTF-8 encodings of their corresponding codepoints are two bytes long like their escape code forms (for instance, CSI at U+009B is encoded as the bytes 0xC2, 0x9B in UTF-8), so there is no advantage to using them rather than the equivalent two-byte escape sequence. When these codes appear in modern documents, web pages, e-mail messages, etc., they are usually intended to be printing characters at that position in a proprietary encoding such as Windows-1252 or Mac OS Roman that use the C1 codes to provide additional graphic characters.

The official English language names of some C1 codes were revised in the most recent edition of the standard for control codes in general (ISO 6429:1992 or ECMA-48:1991) to be neutral with respect to the graphic characters used with them, and to not assume that, as in the Latin script, lines are written on a page from top to bottom and that characters are written on a line from left to right. The abbreviations used were not changed, as the standard had already specified that those would remain unchanged when the standard is translated to other languages. Where the name has been changed, the original name from which the abbreviation was derived is also given in parentheses in the tables below.

Esc+ Dec Hex Acro Name Description[44]
@ 128 80 PAD[6] Padding Character Not part of ISO/IEC 6429 (ECMA-48). In early drafts of ISO 10646, was used as part of a proposed mechanism to encode non-ASCII characters. This use was removed in later drafts.[5][43] Is nonetheless used by the internal-use two-byte fixed-length form of the ISO-2022-based Extended Unix Code (EUC) for left-padding single byte characters in code sets 1 and 3, whereas NUL serves the same function for code sets 0 and 2. This is not done in the usual "packed" EUC format.[45]
A 129 81 HOP[6] High Octet Preset Not part of ISO/IEC 6429 (ECMA-48). In early drafts of ISO 10646, was intended as a means of introducing a sequence of ISO 2022 compliant multiple byte characters with the same first byte without repeating said first byte, thus reducing length; this behaviour was never part of a standard or published implementation. Its name was nonetheless retained as an RFC 1345 standard code-point name.[5][43]
B 130 82 BPH Break Permitted Here Follows a graphic character where a line break is permitted. Roughly equivalent to a soft hyphen except that the means for indicating a line break is not necessarily a hyphen. Not part of the first edition of ISO/IEC 6429.[37] See also zero-width space.
C 131 83 NBH No Break Here Follows the graphic character that is not to be broken. Not part of the first edition of ISO/IEC 6429.[37] See also word joiner.
D 132 84 IND Index Move the active position one line down, to eliminate ambiguity about the meaning of LF. Deprecated in 1988 and withdrawn in 1992 from ISO/IEC 6429 (1986 and 1991 respectively for ECMA-48).
E 133 85 NEL Next Line Equivalent to CR+LF. Used to mark end-of-line on some IBM mainframes.
F 134 86 SSA Start of Selected Area Used by block-oriented terminals.

xterm supports a compatibility mode in which ESC F moves to the lower-left corner of the screen, since certain software assumes this behaviour.[46]

G 135 87 ESA End of Selected Area
H 136 88 HTS Character Tabulation Set
Horizontal Tabulation Set
Causes a character tabulation stop to be set at the active position.
I 137 89 HTJ Character Tabulation With Justification
Horizontal Tabulation With Justification
Similar to Character Tabulation, except that instead of spaces or lines being placed after the preceding characters until the next tab stop is reached, the spaces or lines are placed preceding the active field so that the preceding graphic character is placed just before the next tab stop.
J 138 8A VTS Line Tabulation Set
Vertical Tabulation Set
Causes a line tabulation stop to be set at the active position.
K 139 8B PLD Partial Line Forward
Partial Line Down
Used to produce subscripts and superscripts in ISO/IEC 6429, e.g., in a printer.
Subscripts use PLD text PLU while superscripts use PLU text PLD.
L 140 8C PLU Partial Line Backward
Partial Line Up
M 141 8D RI Reverse Line Feed
Reverse Index
N 142 8E SS2 Single-Shift 2 Next character invokes a graphic character from the G2 or G3 graphic sets respectively. In systems that conform to ISO/IEC 4873 (ECMA-43), even if a C1 set other than the default is used, these two octets may only be used for this purpose.
O 143 8F SS3 Single-Shift 3
P 144 90 DCS Device Control String Followed by a string of printable characters (0x20 through 0x7E) and format effectors (0x08 through 0x0D), terminated by ST (0x9C). This may be used by variable-length control sequences for text terminals and terminal emulators, such as terminfo queries.[47]
Q 145 91 PU1 Private Use 1 Reserved for a function without standardized meaning for private use as required, subject to the prior agreement of the sender and the recipient of the data.
R 146 92 PU2 Private Use 2
S 147 93 STS Set Transmit State
T 148 94 CCH Cancel character Destructive backspace, intended to eliminate ambiguity about meaning of BS.
U 149 95 MW Message Waiting
V 150 96 SPA Start of Protected Area Used by block-oriented terminals.
W 151 97 EPA End of Protected Area
X 152 98 SOS Start of String Followed by a control string terminated by ST (0x9C) which, in contrast to those initiated by DCS, OSC, PM or APC, may contain any character except SOS or ST. Not part of the first edition of ISO/IEC 6429.[37]

MARC 21 uses SOS and ST in Unicode-format records to mark up a string which should be ignored for collation purposes, while MARC-8 format records use NSB and NSE for the same purpose.[15][48]

Y 153 99 SGC,[6] SGCI[49] Single Graphic Character Introducer Not part of ISO/IEC 6429. In early drafts of ISO 10646, was used to encode a single multiple-byte character without switching out of a HOP mode,[43] or to allow access to the entire character set from UCS-3, UCS-2 or Latin-1.[49] Would be followed by a UCS-4 representation of a character.[49] In later drafts, this facility was removed, the name was nonetheless retained as an RFC 1345 standard code-point name.[5][43]
Z 154 9A SCI Single Character Introducer To be followed by a single printable character (0x20 through 0x7E) or format effector (0x08 through 0x0D). The intent was to provide a means by which a control function or a graphic character that would be available regardless of which graphic or control sets were in use could be defined. Definitions of what the following byte would invoke was never implemented in an international standard. Not part of the first edition of ISO/IEC 6429.[37]
[ 155 9B CSI Control Sequence Introducer Used to introduce control sequences that take parameters.
\ 156 9C ST String Terminator Terminates a variable-length control string initiated by DCS, SOS, OSC, PM or APC.
] 157 9D OSC Operating System Command Followed by a string of printable characters (0x20 through 0x7E) and format effectors (0x08 through 0x0D), terminated by ST (0x9C). These three control codes were intended for use to allow in-band signaling of protocol information, but are rarely used for that purpose.

Some terminal emulators, including xterm, support OSC sequences for setting the window title and reconfiguring the available colour palette. They may also support terminating an OSC sequence with BEL as a non-standard alternative to the standard ST.[50]

APC is sometimes used to transmit Kermit commands, although this may be disabled or filtered for security reasons.[51]

^ 158 9E PM Privacy Message
_ 159 9F APC Application Program Command

C1 control codes for bibliographic use edit

The following alternative C1 control code set is defined for bibliographic applications such as library systems. It is mostly concerned with string collation, and with markup of bibliographic fields. Slightly different variants are defined in the German standard DIN 31626[36] (published in 1978 and since withdrawn)[52] and the ISO standard ISO 6630,[53][54] the latter of which has also been adopted in Germany as DIN ISO 6630.[55] Where these differ is noted in the table below where applicable. MARC-8 uses the coding of NSB and NSE from this set, and adds some additional format effectors in locations not used by the ISO version; however, MARC 21 uses this control set only in MARC-8 records, not in Unicode-format records.[15]

If using the ISO/IEC 2022 extension mechanism, the DIN 31626 set is designated as the active C1 control character set with the sequence 0x1B 0x22 0x45 (ESC " E),[36] and the ISO 6630 / DIN ISO 6630 set is designated with the sequence 0x1B 0x22 0x42 (ESC " B).[53] The 1985 expansion of the ISO 6630 set can also be explicitly specified by using the sequence 0x1B 0x26 0x40 0x1B 0x22 0x42 (ESC & @ ESC " B).[54]

Esc+ Dec Hex Acro Name Description[36][53][54]
@…F 128…134 80…86 - (reserved)
G 135 87 CUS Close-Up for Sorting (DIN 31626, ISO 6630) Declares that two successive character sequences separated by a space or separator should be treated as one word for collation purposes.
H 136 88 NSB Non-Sorting Characters Begin (DIN 31626, ISO 6630, MARC 21) Marks the start of a sequence of characters to be ignored for collation purposes. MARC 21 uses this character in MARC-8 records, but uses 0x98 (SOS) in Unicode records for the same purpose.[15][48]
I 137 89 NSE Non-Sorting Characters End (DIN 31626, ISO 6630, MARC 21) Marks the end of a sequence of characters to be ignored for collation purposes. MARC 21 uses this character in MARC-8 records, but uses 0x9C (ST) in Unicode records for the same purpose.[15][48]
J 138 8A FIL Filler Character (DIN 31626) Substitutes for a mandatory alphanumeric character in a field.
K 139 8B TCI Tag in Context Indicator (DIN 31626) Within a bibliographic field, used to refer to data in another bibliographic field by its tag number.
PLD Partial Line Down (ISO 6630) Not in the original edition of ISO 6630.[53] In the 1985 edition of ISO 6630,[54] used for Partial Line Down (see PLD above).
L 140 8C ICI Identification Number in Context Indicator (DIN 31626) Within a bibliographic field, used to refer to data in another bibliographic record by its ID number.
PLU Partial Line Up (ISO 6630) Not in original edition of ISO 6630.[53] In the 1985 edition of ISO 6630,[54] used for Partial Line Up (see PLU above).
M 141 8D OSC[c] Optional Syllabification[d] Control (DIN 31626) Marks a syllable boundary in a long word. See also soft hyphen.
ZWJ Joiner (MARC 21) In MARC-8, used for the Zero-Width Joiner, while U+200D is used in Unicode-format MARC records.[15][48]
N 142 8E SS2 Single-Shift 2 (DIN 31626) Non-locking shift code, see SS2 above.
ZWNJ Non-Joiner (MARC 21) In MARC-8, used for the Zero-Width Non-Joiner, while U+200C is used in Unicode-format MARC records.[15][48]
O 143 8F SS3 Single-Shift 3 (DIN 31626) Non-locking shift code, see SS3 above.
P 144 90 - (reserved)
Q 145 91 EAB Embedded Annotation Beginning (DIN 31626, ISO 6630) Marks the start of a variable-length annotation which is embedded within a bibliographic field, as opposed to separated using content designation.
R 146 92 EAE Embedded Annotation End (DIN 31626, ISO 6630) Marks the end of a variable-length embedded annotation.
S 147 93 ISB Item Specification Beginning (DIN 31626) Marks the start of a string of specific information of some description, other than a keyword or a permutation string.
T 148 94 ISE Item Specification End (DIN 31626) Marks the end of a string of specific information.
U 149 95 SIB Sorting Interpolation Beginning (ISO 6630) Marks the beginning of a sequence of characters used for collation purposes only.
V 150 96 SIE Sorting Interpolation End (ISO 6630) Marks the end of a sequence of characters used for collation purposes only.
W 151 97 SSB Secondary Sorting Value Beginning (ISO 6630) Marks the start of a string with subordinate collation value.
X 152 98 SSE Secondary Sorting Value End (ISO 6630) Marks the end of a string with subordinate collation value.
Y 153 99 INC Indicator for Non-Standard Character (DIN 31626) Identifies a following non-standard character.
Z 154 9A - (reserved)
[ 155 9B - (reserved)
\ 156 9C KWB Keyword Beginning (DIN 31626, ISO 6630) Marks the start of a keyword within a bibliographic field.
] 157 9D KWE Keyword End (DIN 31626, ISO 6630) Marks the end of a keyword within a bibliographic field.
^ 158 9E PSB Permutation String Beginning (DIN 31626, ISO 6630) Marks the start of a string which is to be permuted to the front of the element when references or indices are generated. Terminated by PSE or by the end of the element.
_ 159 9F PSE Permutation String End (DIN 31626, ISO 6630) Marks the end of a string which is to be permuted to the front of the element.

Other C1 control code sets edit

EBCDIC defines 16 additional control codes, besides those present in ASCII. When mapped to Unicode or to ISO 8859, these codes are mapped to C1 control characters in a manner specified by IBM's Character Data Representation Architecture (CDRA).[56][57]

Although the default mapping of the New Line (NL) control does correspond to the ISO/IEC 6429 NEL (0x85; although its mapping is sometimes swapped with LF, following UNIX line ending convention),[56] the remainder of the control codes do not correspond to ISO/IEC 6429. For example, the EBCDIC control SPS (0x09, mapped to 0x8D) and the ECMA-48 control PLU (0x8C) are both used to begin a superscript or end a subscript, but are not mapped to one another. Extended-ASCII-mapped EBCDIC can therefore be regarded as having its own C1 set, although it is not registered with the ISO-IR registry for use with ISO/IEC 2022.[35]

Various specialised C1 control code sets are registered for use by various Videotex formats.[35]

Unicode edit

Unicode sets aside 65 code points in the general category Cc (control) for compatibility with ISO/IEC 2022. These are:

Unicode only specifies semantics for U+0009–U+000D, U+001C–U+001F, and U+0085. The rest of the control codes are transparent to Unicode and their meanings are left to higher-level protocols.[19]

Besides these, Unicode include additional format effector characters besides these, such as marks, embeds, isolates and pops for explicit bidirectional formatting, and the zero-width joiner and non-joiner for controlling ligature use. However these are given the general category Cf (format) rather than Cc.

See also edit

Footnotes edit

  1. ^ The name BELL is assigned by Unicode to the unrelated emoji character 🔔 (U+1F514). While C0 and C1 control characters were not formally named by the Unicode standard itself at the time, this collided with existing use of BELL as the name of this control character in software following the previous versions of UTS#18 (the Unicode Regular Expressions standard),[4] e.g. in Perl.[5] Unicode now accepts ALERT and BEL (but not BELL) as formal aliases for the control character,[6] although the code chart still lists BELL as the ISO 6429 alias,[7] and the corresponding control picture code point is called SYMBOL FOR BELL. Perl subsequently switched to using BELL for the emoji in version 5.18.[8]
  2. ^ The '\e' escape sequence is not part of ISO C and many other language specifications. However, it is understood by several compilers, including GCC.
  3. ^ Not the same as the Operating System Command (OSC) in the ISO/IEC 6429 C1 code set.
  4. ^ Spelled "Syllabication [sic]" in the ISO-IR-040 document, along with "syllable" being spelled "syllabe [sic]" in the description. These are presumably typographical errors.

References edit

  1. ^ a b c d e f g ISO/TC 97/SC 2 (1975). The set of control characters of the ISO 646 (PDF). ITSCJ/IPSJ. ISO-IR-1.{{citation}}: CS1 maint: numeric names: authors list (link)
  2. ^ a b c d e f g h i j k IPTC (1995). The IPTC Recommended Message Format (PDF) (5th ed.). IPTC TEC 7901.
  3. ^ a b c d . Federal Standard 1037C. 1996. Archived from the original on 2016-03-09.
  4. ^ Williamson, Karl. "Re: PRI #202: Extensions to NameAliases.txt for Unicode 6.1.0".
  5. ^ a b c d e Ken Whistler (July 20, 2011). "Formal Name Aliases for Control Characters, L2/11-281". Unicode Consortium.
  6. ^ a b c d "Name Aliases". Unicode Character Database. Unicode Consortium.
  7. ^ "C0 Controls and Basic Latin" (PDF). Unicode Consortium.
  8. ^ "charnames". Perl Programming Documentation.
  9. ^ ISO/IEC JTC 1/SC 2 (1998-02-12). Final Text of DIS 8859-10, Information Technology — 8-bit single-byte coded graphic character sets — Part 10: Latin alphabet No. 6 (PDF). ISO/IEC FDIS 8859-10:1998, JTC1/SC2 N2992, WG3 N415.{{citation}}: CS1 maint: numeric names: authors list (link)
  10. ^ . Federal Standard 1037C. 1996. Archived from the original on 2016-08-01.
  11. ^ "Supplementary transmission control functions (an extension of the basic mode control procedures for data communication systems)". European Computer Manufacturers Association. 1972. ECMA-37.
  12. ^ Wolf, Misha; Whistler, Ken; Wicksteed, Charles; Davis, Mark; Freytag, Asmus; Scherer, Markus (2005-05-06). "10.1 Avoiding Control Byte Values". A Standard Compression Scheme for Unicode. Unicode Consortium. UTS #6.
  13. ^ "What is the point of Ctrl-S?". Unix and Linux Stack exchange. Retrieved 14 February 2019.
  14. ^ Fox, Brian. "Adding a new node to Info". Info: The online, menu-driven GNU documentation system. GNU Project.
  15. ^ a b c d e f g "Control function codes". MARC 21 Specifications for Record Structure, Character Sets, and Exchange Media. Library of Congress. 2007-12-04.
  16. ^ "Built-in Types § str.splitlines". The Python Standard Library. Python Software Foundation.
  17. ^ a b ECMA (1994). "7.3: Invocation of character-set code elements". Character Code Structure and Extension Techniques (PDF) (ECMA Standard) (6th ed.). p. 14. ECMA-35.
  18. ^ American Standards Association (1963). American Standard Code for Information Interchange: 4. Legend. p. 6. ASA X3.4-1963.
  19. ^ a b c d "23.1: Control Codes" (PDF). The Unicode Standard (12.0.0 ed.). Unicode Consortium. 2019. pp. 868–870. ISBN 978-1-936213-22-1.
  20. ^ a b ECMA (1994). "6.4.2: Primary sets of coded control functions". Character Code Structure and Extension Techniques (PDF) (ECMA Standard) (6th ed.). p. 11. ECMA-35.
  21. ^ ECMA (1994). "6.4.3: Supplementary sets of coded control functions". Character Code Structure and Extension Techniques (PDF) (ECMA Standard) (6th ed.). p. 11. ECMA-35.
  22. ^ a b c d e f g h i j k l m Sveriges Standardiseringskommission (1975). NATS Control set for newspaper text transmission (PDF). ITSCJ/IPSJ. ISO-IR-7.
  23. ^ a b c d e f g h i j k l m n IPTC (1976). Control set for newspaper text transmission (PDF). ITSCJ/IPSJ. ISO-IR-26.
  24. ^ a b ITU (1985). Teletex Primary Set of Control Functions (PDF). ITSCJ/IPSJ. ISO-IR-106.
  25. ^ Úřad pro normalizaci a měřeni (1987). The set of control characters of ISO 646, with EM replaced by SS2 (PDF). ITSCJ/IPSJ. ISO-IR-140.
  26. ^ ISO/TC 97/SC 2 (1977). The set of control characters of ISO 646, with IS4 replaced by Single Shift for G2 (SS2) (PDF). ITSCJ/IPSJ. ISO-IR-36.{{citation}}: CS1 maint: numeric names: authors list (link)
  27. ^ ISO/TC 97/SC 2 (1982). The C0 set of Control Characters of Japanese Standard JIS C 6225-1979 (PDF). ITSCJ/IPSJ. ISO-IR-74.{{citation}}: CS1 maint: numeric names: authors list (link)
  28. ^ a b ISO/TC97/SC2/WG6. (PDF). ISO/TC97/SC2/WG6 N317.rev. Archived from the original (PDF) on 2020-10-26.{{cite web}}: CS1 maint: numeric names: authors list (link)
  29. ^ Printronix (2012). OKI® Programmer's Reference Manual (PDF). p. 26.
  30. ^ Ewell, Doug (2020-10-16). "Teletext separated mosaic graphics". Unicode Mailing List Archive. Unicode Consortium.
  31. ^ ECMA/TC 1 (1973). "Brief History". 7-bit Input/Output Coded Character Set (PDF) (4th ed.). ECMA. ECMA-6:1973.{{citation}}: CS1 maint: numeric names: authors list (link)
  32. ^ a b c ECMA/TC 1 (1971). "8.2: Correspondence between the 7-bit Code and an 8-bit Code". Extension of the 7-bit Coded Character Set (PDF) (1st ed.). ECMA. pp. 21–24. ECMA-35:1971.{{citation}}: CS1 maint: numeric names: authors list (link)
  33. ^ ECMA/TC 1 (1973). "4.2: Specific Control Characters". 7-bit Input/Output Coded Character Set (PDF) (4th ed.). ECMA. p. 16. ECMA-6:1973.{{citation}}: CS1 maint: numeric names: authors list (link)
  34. ^ ECMA/TC 1 (1974). "5: Notes on Table 1". 8-bit Coded Character Set (PDF) (1st ed.). ECMA. pp. 4–5. ECMA-43:1974.{{citation}}: CS1 maint: numeric names: authors list (link)
  35. ^ a b c ISO/IEC International Register of Coded Character Sets To Be Used With Escape Sequences (PDF), ITSCJ/IPSJ, ISO-IR
  36. ^ a b c d DIN (1979-07-15). Additional Control Codes for Bibliographic Use according to German Standard DIN 31626 (PDF). ITSCJ/IPSJ. ISO-IR-40.
  37. ^ a b c d e f ISO/TC97/SC2 (1983-10-01). C1 Control Set of ISO 6429:1983 (PDF). ITSCJ/IPSJ. ISO-IR-77.{{citation}}: CS1 maint: numeric names: authors list (link)
  38. ^ ECMA/TC 1 (1979). "Brief History". Additional Control Functions for Character-Imaging I/O Devices (PDF) (2nd ed.). ECMA. ECMA-48:1979.{{citation}}: CS1 maint: numeric names: authors list (link)
  39. ^ a b ECMA/TC 1 (1985). "5.3.8: Sets of 96 graphic characters". Code Extension Techniques (PDF) (4th ed.). ECMA. pp. 17–18. ECMA-35:1985.{{citation}}: CS1 maint: numeric names: authors list (link)
  40. ^ ECMA/TC 1 (1985). "5.2.1: Use of locking-shift functions". Code Extension Techniques (PDF) (4th ed.). ECMA. pp. 9–10. ECMA-35:1985.{{citation}}: CS1 maint: numeric names: authors list (link)
  41. ^ ISO/IEC JTC 1/SC 2/WG 3 (1998-02-12). Final Text of DIS 8859-1, 8-bit single-byte coded graphic character sets—Part 1: Latin alphabet No.1 (PDF). ISO/IEC FDIS 8859-1:1998; JTC1/SC2/N2988; WG3/N411. This set of coded graphic characters may be regarded as a version of an 8-bit code according to ISO/IEC 2022 or ISO/IEC 4873 at level 1. […] The shaded positions in the code table correspond to bit combinations that do not represent graphic characters. Their use is outside the scope of ISO/IEC 8859; it is specified in other International Standards, for example ISO/IEC 6429.{{citation}}: CS1 maint: numeric names: authors list (link)
  42. ^ "JIS X 02xx 符号" (in Japanese).
  43. ^ a b c d e Ken Whistler (2015-10-05). "Why Nothing Ever Goes Away". Unicode Mailing List.
  44. ^ ECMA (1991). Control Functions for Coded Character Sets. Standard ECMA-48.
  45. ^ Lunde, Ken (2008). CJKV Information Processing: Chinese, Japanese, Korean, and Vietnamese Computing. O'Reilly. p. 244. ISBN 9780596800925.
  46. ^ "VT100 Widget Resources (§ hpLowerleftBugCompat)". xterm - terminal emulator for X.
  47. ^ Moy, Edward; Gildea, Stephen; Dickey, Thomas. "Device-Control functions". XTerm Control Sequences.
  48. ^ a b c d e "Code Table Extended Latin (ANSEL)". MARC 21 Specifications for Record Structure, Character Sets, and Exchange Media. Library of Congress. 2007-12-05.
  49. ^ a b c Brender, Ronald F. (1989). "Ada 9x Project Report: Character Set Issues for Ada 9x". Carnegie Mellon University.
  50. ^ Moy, Edward; Gildea, Stephen; Dickey, Thomas. "Operating System Commands". XTerm Control Sequences.
  51. ^ Frank da Cruz; Christine Gianone (1997). Using C-Kermit. Digital Press. p. 278. ISBN 978-1-55558-164-0.
  52. ^ "Information processing; bibliographic control characters". Beuth: publishing DIN. DIN 31626:1978-12.
  53. ^ a b c d e ISO/TC 46 (1983-06-01). Additional Control Codes for Bibliographic Use according to International Standard ISO 6630 (PDF). ITSCJ/IPSJ. ISO-IR-67.{{citation}}: CS1 maint: numeric names: authors list (link)
  54. ^ a b c d e ISO/TC 46 (1986-02-01). Additional Control Codes for Bibliographic Use according to International Standard ISO 6630 (PDF). ITSCJ/IPSJ. ISO-IR-124.{{citation}}: CS1 maint: numeric names: authors list (link)
  55. ^ "DIN ISO 6630 December 1997". AFNOR Editions Online Store.
  56. ^ a b Umamaheswaran, V.S. (1999-11-08). "3.3 Step 2: Byte Conversion". UTF-EBCDIC. Unicode Consortium. Unicode Technical Report #16. The 64 control characters […], the ASCII DELETE character (U+007F)[…] are mapped respecting EBCDIC conventions, as defined in IBM Character Data Representation Architecture, CDRA, with one exception -- the pairing of EBCDIC Line Feed and New Line control characters are swapped from their CDRA default pairings to ISO/IEC 6429 Line Feed (U+000A) and Next Line (U+0085) control characters
  57. ^ Steele, Shawn (1996-04-24). cp037_IBMUSCanada to Unicode table. Microsoft/Unicode Consortium.
  • The Unicode Standard
    • C0 Controls and Basic Latin
    • C1 Controls and Latin-1 Supplement
    • Control Pictures
    • The Unicode Standard, Version 6.1.0, Chapter 16: Special Areas and Format Characters
  • ATIS Telecom Glossary 2007
  • De litteris regentibus C1 quaestiones septem or Are C1 characters legal in XHTML 1.0?
  • W3C I18N FAQ: HTML, XHTML, XML and Control Codes
  • International register of coded character sets to be used with escape sequences

control, codes, redirects, here, other, uses, disambiguation, group, separator, redirects, here, delimiter, used, group, digits, large, numbers, decimal, separator, digit, grouping, this, article, needs, additional, citations, verification, please, help, impro. DC1 redirects here For other uses see DC1 disambiguation Group separator redirects here For the delimiter used to group digits in large numbers see Decimal separator Digit grouping This article needs additional citations for verification Please help improve this article by adding citations to reliable sources Unsourced material may be challenged and removed Find sources C0 and C1 control codes news newspapers books scholar JSTOR March 2010 Learn how and when to remove this template message The C0 and C1 control code or control character sets define control codes for use in text by computer systems that use ASCII and derivatives of ASCII The codes represent additional information about the text such as the position of a cursor an instruction to start a new line or a message that the text has been received C0 codes are the range 00HEX 1FHEX and the default C0 set was originally defined in ISO 646 ASCII C1 codes are the range 80HEX 9FHEX and the default C1 set was originally defined in ECMA 48 harmonized later with ISO 6429 The ISO IEC 2022 system of specifying control and graphic characters allows other C0 and C1 sets to be available for specialized applications but they are rarely used Contents 1 C0 controls 1 1 Basic ASCII control codes 1 2 Category Number names 1 3 Modified C0 control code sets 1 4 Other C0 control code sets 2 C1 controls 2 1 C1 control codes for general use 2 2 C1 control codes for bibliographic use 2 3 Other C1 control code sets 3 Unicode 4 See also 5 Footnotes 6 ReferencesC0 controls edit nbsp Early symbols assigned to the 32 control characters space and delete characters ISO 2047 MIL STD 188 100 1972 ASCII defined 32 control characters plus a necessary extra character for the DEL character 7FHEX or 01111111BIN needed to punch out all the holes on a paper tape and erase it This large number of codes was desirable at the time as multi byte controls would require implementation of a state machine in the terminal which was very difficult with contemporary electronics and mechanical terminals Since then only a few of the original controls have maintained their use the whitespace range of BS TAB LF VT FF and CR the BEL code and ESC but almost always as part of an ESC CSI representation starting an ANSI escape sequence Others are unused or have acquired different meanings such as NUL being the C string terminator Some serial transmission protocols such as ANPA 1312 Kermit and XMODEM do make extensive use of control characters SOH STX ETX EOT ACK NAK and SYN for purposes approximating their original definitions Basic ASCII control codes edit These are the standard ASCII control codes originally defined in ANSI X3 4 If using the ISO IEC 2022 extension mechanism they are designated as the active C0 control character set with the octet sequence 0x1B 0x21 0x40 ESC 1 Caret notation Decimal Hexadecimal Abbreviation Symbol Name C escape Description a href 5E html class mw redirect title a 00 00 NUL Null a href 5C0 html class mw redirect title 0 0 a Originally used to allow gaps to be left on paper tape for edits Later used for padding after a code that might take a terminal some time to process e g a carriage return or line feed on a printing terminal Now often used as a string terminator especially in the programming language C a href 5EA html class mw redirect title A A a 01 01 SOH Start of Heading In message transmission delimits the start of a message header The format of this header may be defined by an applicable protocol such as IPTC 7901 for journalistic text transmission and it is usually terminated by STX 2 In Hadoop and FIX it is often used as a field separator a href 5EB html class mw redirect title B B a 02 02 STX Start of Text First character of message text and may be used to terminate the message heading a href 5EC html class mw redirect title C C a 03 03 ETX End of Text In message transmission delimits the end of the main text of a message Might be followed by post text information i e a structured footer defined by an applicable protocol 2 or by any additional texts 3 followed by EOT 2 3 In keyboard input often used as a break character Ctrl C to interrupt or terminate a program or process a href 5ED html class mw redirect title D D a 04 04 EOT End of Transmission Delimits the end of a transmitted message which may include a header message text and post text footer 2 or even multiple texts and associated headings 3 May also be used to place terminals on standby 3 Often used on Unix to indicate end of file on a terminal interpreted by the shell as the command exit or logout a href 5EE html class mw redirect title E E a 05 05 ENQ Enquiry Signal intended to trigger a response at the receiving end to see if it is still present a href 5EF html class mw redirect title F F a 06 06 ACK Acknowledge Response to an ENQ or an indication of successful receipt of a message a href 5EG html class mw redirect title G G a 07 07 BEL a Bell Alert a href 5Ca html class mw redirect title a a a Originally used to sound a bell on the terminal Later used for a beep on systems that had no physical bell May also quickly turn on and off inverse video a visual bell a href 5EH html class mw redirect title H H a 08 08 BS Backspace b Move the cursor one position leftwards On input this may delete the character to the left of the cursor On output where in early computer technology a character once printed could not be erased the backspace was sometimes used to generate accented characters in ASCII For example a could be produced using the three character sequence a BS or using the characters hex values 0x61 0x08 0x60 This usage is now generally not supported it is prohibited in for instance ISO IEC 8859 9 To provide disambiguation between the two potential uses of backspace the cancel character control code was made part of the standard C1 control set a href 5EI html class mw redirect title I I a 09 09 HT Character Tabulation Horizontal Tabulation a href 5Ct html class mw redirect title t t a Position to the next character tab stop a href 5EJ html class mw redirect title J J a 10 0A LF Line Feed a href 5Cn html class mw redirect title n n a On typewriters printers and some terminal emulators moves the cursor down one row without affecting its column position On Unix used to mark end of line In DOS Windows and various network standards LF is used following CR as part of the end of line mark a href 5EK html class mw redirect title K K a 11 0B VT Line Tabulation Vertical Tabulation a href 5Cv html class mw redirect title v v a Position the form at the next line tab stop a href 5EL html class mw redirect title L L a 12 0C FF Form Feed a href 5Cf html class mw redirect title f f a On printers load the next page Treated as whitespace in many programming languages and may be used to separate logical divisions in code In some terminal emulators it clears the screen It still appears in some common plain text files as a page break character such as the RFCs published by IETF a href 5EM html class mw redirect title M M a 13 0D CR Carriage Return a href 5Cr html class mw redirect title r r a Originally used to move the cursor to column zero while staying on the same line On classic Mac OS pre Mac OS X as well as in earlier systems such as the Apple II and Commodore 64 used to mark end of line In DOS Windows and various network standards it is used preceding LF as part of the end of line mark The Enter or Return key on a keyboard will send this character but it may be converted to a different end of line sequence by a terminal program a href 5EN html class mw redirect title N N a 14 0E SO Shift Out Switch to an alternative character set a href 5EO html class mw redirect title O O a 15 0F SI Shift In Return to regular character set after Shift Out a href 5EP html class mw redirect title P P a 16 10 DLE Data Link Escape Cause a limited number of contiguously following octets to be interpreted in some different way 10 for example as raw data as opposed to control codes or graphic characters The details of this are implementation dependent Standards such as the now withdrawn ECMA 37 existed for specific applications of the Data Link Escape character for accessing additional transmission control functions 11 Standard Compression Scheme for Unicode suggests replacing all C0 range bytes with DLE followed by that byte plus 0x40 if SCSU data must be transmitted over a system which would be confused by SCSU s repurposing of the C0 bytes 12 a href 5EQ html class mw redirect title Q Q a 17 11 DC1 Device Control One XON These four control codes are reserved for device control with the interpretation dependent upon the device to which they were connected DC1 and DC2 were intended primarily to indicate activating a device while DC3 and DC4 were intended primarily to indicate pausing or turning off a device DC1 and DC3 known also as XON and XOFF respectively in this usage originated as the start and stop remote paper tape reader functions in ASCII Telex networks This teleprinter usage became the de facto standard for software flow control 13 a href 5ER html class mw redirect title R R a 18 12 DC2 Device Control Two a href 5ES html class mw redirect title S S a 19 13 DC3 Device Control Three XOFF a href 5ET html class mw redirect title T T a 20 14 DC4 Device Control Four a href 5EU html class mw redirect title U U a 21 15 NAK Negative Acknowledge Sent by a station as a negative response to the station with which the connection has been set up In binary synchronous communication protocol the NAK is used to indicate that an error was detected in the previously received block and that the receiver is ready to accept retransmission of that block In multipoint systems the NAK is used as the not ready reply to a poll a href 5EV html class mw redirect title V V a 22 16 SYN Synchronous Idle Used in synchronous transmission systems to provide a signal from which synchronous correction may be achieved between data terminal equipment particularly when no other character is being transmitted a href 5EW html class mw redirect title W W a 23 17 ETB End of Transmission Block Indicates the end of a transmission block of data when data are divided into such blocks for transmission purposes If it is not in use for another purpose IPTC 7901 recommends interpreting ETB as an end of paragraph character 2 a href 5EX html class mw redirect title X X a 24 18 CAN Cancel Indicates that the data preceding it are in error or are to be disregarded a href 5EY html class mw redirect title Y Y a 25 19 EM End of medium Intended as means of indicating on paper or magnetic tapes that the end of the usable portion of the tape had been reached It might also mark the end of the used portion of the medium and does not necessarily correspond to the physical end of medium 1 If it is not in use for another purpose IPTC 7901 recommends repurposing EM as an em space for indenting the first line of a paragraph 2 see also EMSP a href 5EZ html class mw redirect title Z Z a 26 1A SUB Substitute Originally intended for use as a transmission control character to indicate that garbled or invalid characters had been received It has often been put to use for other purposes when the in band signaling of errors it provides is unneeded especially where robust methods of error detection and correction are used or where errors are expected to be rare enough to make using the character for other purposes advisable In DOS Windows CP M and derivatives of Digital Equipment Corporation operating systems it is used to indicate the end of file both when typing on the terminal and sometimes in text files stored on disk 27 1B ESC Escape a href 5Ce html class mw redirect title e e a b The Esc key on the keyboard will cause this character to be sent on most systems It can be used in software user interfaces to exit from a screen menu or mode or in device control protocols e g printers and terminals to signal that what follows is a special command sequence rather than normal text In systems based on ISO IEC 2022 even if another set of C0 control codes are used this octet is required to always represent the escape character 28 1C FS File Separator Can be used as delimiters to mark fields of data structures If used for hierarchical levels US is the lowest level dividing plain text data items while RS GS and FS are of increasing level to divide groups made up of items of the level beneath it The Unix info format uses US followed by an optional form feed and a line break to mark the beginning of a node 14 MARC 21 uses US as a subfield delimiter RS as a field terminator and GS as a record terminator 15 In the current edition of IPTC 7901 if they are not used for other purposes US is recommended for use as a column separator in tables FS as a Central Field Separator in tables and GS and RS respectively for marking a following space or hyphen minus as non breaking or soft respectively in character sets not supplying explicit NBSP and SHY characters 2 Python s splitlines string method treats FS GS and RS but not US as separators in addition to the line breaking characters 16 29 1D GS Group Separator 30 1E RS Record Separator 31 1F US Unit SeparatorWhile not technically part of the C0 control character range the following two characters are defined in ISO IEC 2022 as always being available regardless of which sets of control characters and graphics characters have been registered They can be thought of as having some characteristics of control characters 32 20 SP Space Space is a graphic character It has a visual representation consisting of the absence of a graphic symbol It causes the active position to be advanced by one character position In some applications Space can be considered a lowest level word separator to be used with the adjacent separator characters a href 5E 3F html class mw redirect title a 127 7F DEL Delete Not technically part of the C0 control character range this was originally used to mark deleted characters on paper tape since any character could be changed to all ones by punching holes everywhere On VT100 compatible terminals this is the character generated by the key labelled usually called backspace on modern machines and does not correspond to the PC delete key Category Number names edit Several of the basic ASCII control codes are classified into a few categories and sometimes given alternative abbreviated names consisting of that category and a number 1 Transmission controls 1 TC1 SOH TC2 STX TC3 ETX TC4 EOT TC5 ENQ TC6 ACK TC7 DLE TC8 NAK TC9 SYN TC10 ETB Format effectors 1 FE0 BS FE1 HT FE2 LF FE3 VT FE4 FF FE5 CR Device controls 1 DC1 DC2 DC3 DC4 Information separators 1 IS1 US IS2 RS IS3 GS IS4 FS Locking shifts 17 LS0 SI LS1 SO Others NUL BEL CAN EM SUB ESC ISO IEC 2022 ECMA 35 refers to the C0 locking shifts as LS0 and LS1 in 8 bit environments and as SI and SO in 7 bit environments 17 The first 1963 edition of ASCII classified DLE as a device control rather than a transmission control and gave it the abbreviation DC0 device control reserved for data link escape 18 Format effector FE codes define and actuate formatting such as line breaks which affects how graphical characters are laid out and rendered as opposed to controlling other functions of hardware devices or having other side effects The C0 format effectors are permitted in ISO IEC 6429 DCS OSC PM and APC sequences The information separators and C0 format effectors minus BS are the only C0 control codes with semantics defined by the Unicode Standard the interpretation of the remainder of the C0 controls being left to higher level protocols 19 ISO IEC 2022 ECMA 35 requires that if C0 control code sets include the ten ASCII transmission control TC codes they must be encoded at their ASCII locations 20 It also prohibits those ten transmission controls from being included in a C1 control code set 21 and prohibits transmission controls besides those ten from being included in a C0 control set 20 Modified C0 control code sets edit Further information Videotex character set C0 control codes Although C0 control code sets usually preserve most of the ASCII control codes unchanged a number are registered which replace certain control functions with alternatives A selection of these excluding those related to Videotex are shown below Seq Dec Hex Replaced In code set s Abbrev Name Description I 09 09 HT NATS 22 IPTC 23 FO Formatting Used in tabular data to move to the next tabulation position retaining Tab semantics in this regard and in standard formats to denote the next phase The current IPTC specification instead recommends using regular ASCII C0 controls and using the US control as a column break in tables 2 K 11 0B VT NATS 22 IPTC 23 ECD End of Instruction Delimits the end of a typographical instruction intended for the typesetting device L 12 0C FF NATS 22 IPTC 23 SCD Start of Instruction Delimits the start of a typographical instruction intended for the typesetting device M 13 0D CR NATS 22 IPTC 23 QL Quad Left Terminates a line indicating that it should be left aligned The current IPTC specification instead recommends using regular ASCII C0 controls and representing this function with the lt CR LF sequence 2 N 14 0E SO NATS 22 UR Upper Rail Starts an emphasised region of text Used in Scandinavian journalistic text transmission as of 1975 22 IPTC recommendations as of 1976 used FT2 and FT3 instead see below 23 The current IPTC specification instead recommends using regular ASCII C0 controls and marking up this function with the character 2 O 15 0F SI NATS 22 LR Lower Rail Ends an emphasised region of text Used in Scandinavian journalistic text transmission as of 1975 22 IPTC recommendations as of 1976 used FT1 instead see below 23 The current IPTC specification instead recommends using regular ASCII C0 controls and marking up this function with the character 2 Q 17 11 DC1 IPTC 23 FT1 Font One Switches to regular typeface i e disables bold or italic R 18 12 DC2 IPTC 23 FT2 Font Two Switches to italic typeface S 19 13 DC3 IPTC 23 FT3 Font Three Switches to bold typeface X 24 18 CAN NATS 22 IPTC 23 KW Kill Word Deletes the preceding word deletes back to and including the last space or back to and excluding the previous line break whichever it encounters first Retains Cancel semantics in this respect but has a more specific function Y 25 19 EM T 61 T 51 24 Standalone 25 SS2 Single Shift Two Non locking shift code for G2 a C0 representation allowing it to be represented with one byte in a 7 bit environment 28 1C FS NATS 22 IPTC 23 Standalone 26 SS SS2 Super Shift or Single Shift Two Non locking shift code JIS C 6225 27 CEX Control Extension Introduces a control sequence as specified by the now withdrawn JIS C 6225 designated JIS X 0207 in later sources 28 These included sequences for controlling vertical text behaviour superscripts and subscripts 29 and for transmitting custom character graphics 28 29 1D GS NATS 22 IPTC 23 QC Quad Centre Terminates a line indicating that it should be centred T 61 T 51 24 SS3 Single Shift Three Non locking shift code for G3 a C0 representation allowing it to be represented with one byte in a 7 bit environment 30 1E RS NATS 22 IPTC 23 QR Quad Right Terminates a line indicating that it should be right aligned 31 1F US NATS 22 IPTC 23 JY Justify Terminates a line which is to be justified Other C0 control code sets edit Further information Teletext character set Control characters Teletext defines an entirely different set of control codes In formats where compatibility with ECMA 48 s C0 control codes is not required these control codes are sometimes mapped transparently to the Unicode C0 control code range U 0000 through U 001F 30 C1 controls editIn parallel to the development of the 1972 edition of ISO 646 which revised the standard to introduce the concept of national versions of the code in addition to the US originated ASCII work was also underway with the purpose of defining extension mechanisms for ASCII applicable to both 7 bit and 8 bit environments which would be published as ECMA 35 and ISO 2022 31 These mechanisms were designed so that any conformant 8 bit code could be converted to a corresponding 7 bit code and vice versa 32 In a 7 bit environment the Shift Out SO control would change the meaning of the 94 bytes 0x21 through 0x7E i e the graphical codes excluding the space to invoke characters from an alternative set and the Shift In SI control would change them back 33 In an 8 bit environment instead of using shift codes the eighth bit was set on a byte referencing the additional graphic character set This meant that bytes 0xA1 through 0xFE were used for the additional graphic characters The C0 control characters being unaffected by the shift state of a 7 bit code were to always be represented in an 8 bit code with the eighth bit unset 32 The consequently otherwise unused bytes in the range 0x80 through 0x9F could be used for additional control codes which would instead be represented as 0x1B 0x40 through 0x1B 0x5F ESC through ESC in a 7 bit code 32 These additional control codes become known as the C1 control codes To retain compatibility with the 7 bit representation the behaviour of bytes 0xA0 and 0xFF was originally left undefined 34 The first C1 control code set to be registered for use with ISO 2022 was DIN 31626 35 a specialised set for bibliographic use which was registered in 1979 36 The general use ISO IEC 6429 set was registered in 1983 37 although the ECMA 48 specification upon which it was based had been first published in 1976 38 Further editions of the standards altered the provisions to an extent For instance a further revision to ECMA 35 and ISO 2022 in 1985 introduced the concept of a 96 code graphical character set 39 In an 8 bit code this allowed the entire range from 0xA0 to 0xFF to be used for graphical characters Use of 96 code sets also meant that the meaning of the bytes 0x20 and 0x7F in the corresponding 7 bit code could differ from Space and Delete unless the code was in the Shift In state 40 Using 96 code sets for the G0 Shift In set was not made possible 39 In accordance with this revised 8 bit ISO 2022 code structure ISO 8859 defines sets of characters to be encoded over 0xA0 FF in combination with the ASCII graphical characters over 0x20 7E and reserves the bytes outside of these ranges for use as non graphical codes by other specifications such as ISO IEC 6429 41 Unicode inherits its first 256 code points from ISO 8859 1 hence also incorporating a range reserved for a C1 control code set although it mostly leaves their function to be defined by higher level protocols with ISO IEC 6429 suggested as a default 19 C1 control codes for general use edit These are the most common extended control codes and are defined in ISO IEC 6429 ECMA 48 and JIS X 0211 formerly JIS C 6323 42 If using the ISO IEC 2022 extension mechanism they are designated as the active C1 control character set with the sequence 0x1B 0x22 0x43 ESC C 37 Although Unicode does not require a particular C1 control code set leaving their interpretation to be specified by higher level protocols and only specifies a behaviour for U 0085 it suggests interpreting C1 control codes as specified in ISO IEC 6429 in the absence of use for other purposes 19 Also listed in the table below are three control codes listed alongside the ISO IEC 6429 codes in RFC 1345 but not actually defined by ISO IEC 6429 PAD HOP and SGC 5 43 Except for SS2 and SS3 in EUC JP text and NEL in text transcoded from EBCDIC the 8 bit forms of these codes are almost never used CSI DCS and OSC are used to control text terminals and terminal emulators but almost always by using their 7 bit escape code representations Their ISO IEC 2022 compliant single byte representations are invalid in UTF 8 and the UTF 8 encodings of their corresponding codepoints are two bytes long like their escape code forms for instance CSI at U 009B is encoded as the bytes 0xC2 0x9B in UTF 8 so there is no advantage to using them rather than the equivalent two byte escape sequence When these codes appear in modern documents web pages e mail messages etc they are usually intended to be printing characters at that position in a proprietary encoding such as Windows 1252 or Mac OS Roman that use the C1 codes to provide additional graphic characters The official English language names of some C1 codes were revised in the most recent edition of the standard for control codes in general ISO 6429 1992 or ECMA 48 1991 to be neutral with respect to the graphic characters used with them and to not assume that as in the Latin script lines are written on a page from top to bottom and that characters are written on a line from left to right The abbreviations used were not changed as the standard had already specified that those would remain unchanged when the standard is translated to other languages Where the name has been changed the original name from which the abbreviation was derived is also given in parentheses in the tables below Esc Dec Hex Acro Name Description 44 128 80 PAD 6 Padding Character Not part of ISO IEC 6429 ECMA 48 In early drafts of ISO 10646 was used as part of a proposed mechanism to encode non ASCII characters This use was removed in later drafts 5 43 Is nonetheless used by the internal use two byte fixed length form of the ISO 2022 based Extended Unix Code EUC for left padding single byte characters in code sets 1 and 3 whereas NUL serves the same function for code sets 0 and 2 This is not done in the usual packed EUC format 45 A 129 81 HOP 6 High Octet Preset Not part of ISO IEC 6429 ECMA 48 In early drafts of ISO 10646 was intended as a means of introducing a sequence of ISO 2022 compliant multiple byte characters with the same first byte without repeating said first byte thus reducing length this behaviour was never part of a standard or published implementation Its name was nonetheless retained as an RFC 1345 standard code point name 5 43 B 130 82 BPH Break Permitted Here Follows a graphic character where a line break is permitted Roughly equivalent to a soft hyphen except that the means for indicating a line break is not necessarily a hyphen Not part of the first edition of ISO IEC 6429 37 See also zero width space C 131 83 NBH No Break Here Follows the graphic character that is not to be broken Not part of the first edition of ISO IEC 6429 37 See also word joiner D 132 84 IND Index Move the active position one line down to eliminate ambiguity about the meaning of LF Deprecated in 1988 and withdrawn in 1992 from ISO IEC 6429 1986 and 1991 respectively for ECMA 48 E 133 85 NEL Next Line Equivalent to CR LF Used to mark end of line on some IBM mainframes F 134 86 SSA Start of Selected Area Used by block oriented terminals xterm supports a compatibility mode in which ESC F moves to the lower left corner of the screen since certain software assumes this behaviour 46 G 135 87 ESA End of Selected AreaH 136 88 HTS Character Tabulation SetHorizontal Tabulation Set Causes a character tabulation stop to be set at the active position I 137 89 HTJ Character Tabulation With JustificationHorizontal Tabulation With Justification Similar to Character Tabulation except that instead of spaces or lines being placed after the preceding characters until the next tab stop is reached the spaces or lines are placed preceding the active field so that the preceding graphic character is placed just before the next tab stop J 138 8A VTS Line Tabulation SetVertical Tabulation Set Causes a line tabulation stop to be set at the active position K 139 8B PLD Partial Line ForwardPartial Line Down Used to produce subscripts and superscripts in ISO IEC 6429 e g in a printer Subscripts use PLD i text i PLU while superscripts use PLU i text i PLD L 140 8C PLU Partial Line BackwardPartial Line UpM 141 8D RI Reverse Line FeedReverse IndexN 142 8E SS2 Single Shift 2 Next character invokes a graphic character from the G2 or G3 graphic sets respectively In systems that conform to ISO IEC 4873 ECMA 43 even if a C1 set other than the default is used these two octets may only be used for this purpose O 143 8F SS3 Single Shift 3P 144 90 DCS Device Control String Followed by a string of printable characters 0x20 through 0x7E and format effectors 0x08 through 0x0D terminated by ST 0x9C This may be used by variable length control sequences for text terminals and terminal emulators such as terminfo queries 47 Q 145 91 PU1 Private Use 1 Reserved for a function without standardized meaning for private use as required subject to the prior agreement of the sender and the recipient of the data R 146 92 PU2 Private Use 2S 147 93 STS Set Transmit StateT 148 94 CCH Cancel character Destructive backspace intended to eliminate ambiguity about meaning of BS U 149 95 MW Message WaitingV 150 96 SPA Start of Protected Area Used by block oriented terminals W 151 97 EPA End of Protected AreaX 152 98 SOS Start of String Followed by a control string terminated by ST 0x9C which in contrast to those initiated by DCS OSC PM or APC may contain any character except SOS or ST Not part of the first edition of ISO IEC 6429 37 MARC 21 uses SOS and ST in Unicode format records to mark up a string which should be ignored for collation purposes while MARC 8 format records use NSB and NSE for the same purpose 15 48 Y 153 99 SGC 6 SGCI 49 Single Graphic Character Introducer Not part of ISO IEC 6429 In early drafts of ISO 10646 was used to encode a single multiple byte character without switching out of a HOP mode 43 or to allow access to the entire character set from UCS 3 UCS 2 or Latin 1 49 Would be followed by a UCS 4 representation of a character 49 In later drafts this facility was removed the name was nonetheless retained as an RFC 1345 standard code point name 5 43 Z 154 9A SCI Single Character Introducer To be followed by a single printable character 0x20 through 0x7E or format effector 0x08 through 0x0D The intent was to provide a means by which a control function or a graphic character that would be available regardless of which graphic or control sets were in use could be defined Definitions of what the following byte would invoke was never implemented in an international standard Not part of the first edition of ISO IEC 6429 37 155 9B CSI Control Sequence Introducer Used to introduce control sequences that take parameters 156 9C ST String Terminator Terminates a variable length control string initiated by DCS SOS OSC PM or APC 157 9D OSC Operating System Command Followed by a string of printable characters 0x20 through 0x7E and format effectors 0x08 through 0x0D terminated by ST 0x9C These three control codes were intended for use to allow in band signaling of protocol information but are rarely used for that purpose Some terminal emulators including xterm support OSC sequences for setting the window title and reconfiguring the available colour palette They may also support terminating an OSC sequence with BEL as a non standard alternative to the standard ST 50 APC is sometimes used to transmit Kermit commands although this may be disabled or filtered for security reasons 51 158 9E PM Privacy Message 159 9F APC Application Program CommandC1 control codes for bibliographic use edit The following alternative C1 control code set is defined for bibliographic applications such as library systems It is mostly concerned with string collation and with markup of bibliographic fields Slightly different variants are defined in the German standard DIN 31626 36 published in 1978 and since withdrawn 52 and the ISO standard ISO 6630 53 54 the latter of which has also been adopted in Germany as DIN ISO 6630 55 Where these differ is noted in the table below where applicable MARC 8 uses the coding of NSB and NSE from this set and adds some additional format effectors in locations not used by the ISO version however MARC 21 uses this control set only in MARC 8 records not in Unicode format records 15 If using the ISO IEC 2022 extension mechanism the DIN 31626 set is designated as the active C1 control character set with the sequence 0x1B 0x22 0x45 ESC E 36 and the ISO 6630 DIN ISO 6630 set is designated with the sequence 0x1B 0x22 0x42 ESC B 53 The 1985 expansion of the ISO 6630 set can also be explicitly specified by using the sequence 0x1B 0x26 0x40 0x1B 0x22 0x42 ESC amp ESC B 54 Esc Dec Hex Acro Name Description 36 53 54 F 128 134 80 86 reserved G 135 87 CUS Close Up for Sorting DIN 31626 ISO 6630 Declares that two successive character sequences separated by a space or separator should be treated as one word for collation purposes H 136 88 NSB Non Sorting Characters Begin DIN 31626 ISO 6630 MARC 21 Marks the start of a sequence of characters to be ignored for collation purposes MARC 21 uses this character in MARC 8 records but uses 0x98 SOS in Unicode records for the same purpose 15 48 I 137 89 NSE Non Sorting Characters End DIN 31626 ISO 6630 MARC 21 Marks the end of a sequence of characters to be ignored for collation purposes MARC 21 uses this character in MARC 8 records but uses 0x9C ST in Unicode records for the same purpose 15 48 J 138 8A FIL Filler Character DIN 31626 Substitutes for a mandatory alphanumeric character in a field K 139 8B TCI Tag in Context Indicator DIN 31626 Within a bibliographic field used to refer to data in another bibliographic field by its tag number PLD Partial Line Down ISO 6630 Not in the original edition of ISO 6630 53 In the 1985 edition of ISO 6630 54 used for Partial Line Down see PLD above L 140 8C ICI Identification Number in Context Indicator DIN 31626 Within a bibliographic field used to refer to data in another bibliographic record by its ID number PLU Partial Line Up ISO 6630 Not in original edition of ISO 6630 53 In the 1985 edition of ISO 6630 54 used for Partial Line Up see PLU above M 141 8D OSC c Optional Syllabification d Control DIN 31626 Marks a syllable boundary in a long word See also soft hyphen ZWJ Joiner MARC 21 In MARC 8 used for the Zero Width Joiner while U 200D is used in Unicode format MARC records 15 48 N 142 8E SS2 Single Shift 2 DIN 31626 Non locking shift code see SS2 above ZWNJ Non Joiner MARC 21 In MARC 8 used for the Zero Width Non Joiner while U 200C is used in Unicode format MARC records 15 48 O 143 8F SS3 Single Shift 3 DIN 31626 Non locking shift code see SS3 above P 144 90 reserved Q 145 91 EAB Embedded Annotation Beginning DIN 31626 ISO 6630 Marks the start of a variable length annotation which is embedded within a bibliographic field as opposed to separated using content designation R 146 92 EAE Embedded Annotation End DIN 31626 ISO 6630 Marks the end of a variable length embedded annotation S 147 93 ISB Item Specification Beginning DIN 31626 Marks the start of a string of specific information of some description other than a keyword or a permutation string T 148 94 ISE Item Specification End DIN 31626 Marks the end of a string of specific information U 149 95 SIB Sorting Interpolation Beginning ISO 6630 Marks the beginning of a sequence of characters used for collation purposes only V 150 96 SIE Sorting Interpolation End ISO 6630 Marks the end of a sequence of characters used for collation purposes only W 151 97 SSB Secondary Sorting Value Beginning ISO 6630 Marks the start of a string with subordinate collation value X 152 98 SSE Secondary Sorting Value End ISO 6630 Marks the end of a string with subordinate collation value Y 153 99 INC Indicator for Non Standard Character DIN 31626 Identifies a following non standard character Z 154 9A reserved 155 9B reserved 156 9C KWB Keyword Beginning DIN 31626 ISO 6630 Marks the start of a keyword within a bibliographic field 157 9D KWE Keyword End DIN 31626 ISO 6630 Marks the end of a keyword within a bibliographic field 158 9E PSB Permutation String Beginning DIN 31626 ISO 6630 Marks the start of a string which is to be permuted to the front of the element when references or indices are generated Terminated by PSE or by the end of the element 159 9F PSE Permutation String End DIN 31626 ISO 6630 Marks the end of a string which is to be permuted to the front of the element Other C1 control code sets edit Further information EBCDIC Definitions of non ASCII EBCDIC controls and Videotex character set C1 control codes EBCDIC defines 16 additional control codes besides those present in ASCII When mapped to Unicode or to ISO 8859 these codes are mapped to C1 control characters in a manner specified by IBM s Character Data Representation Architecture CDRA 56 57 Although the default mapping of the New Line NL control does correspond to the ISO IEC 6429 NEL 0x85 although its mapping is sometimes swapped with LF following UNIX line ending convention 56 the remainder of the control codes do not correspond to ISO IEC 6429 For example the EBCDIC control SPS 0x09 mapped to 0x8D and the ECMA 48 control PLU 0x8C are both used to begin a superscript or end a subscript but are not mapped to one another Extended ASCII mapped EBCDIC can therefore be regarded as having its own C1 set although it is not registered with the ISO IR registry for use with ISO IEC 2022 35 Various specialised C1 control code sets are registered for use by various Videotex formats 35 Unicode editMain article Unicode control characters Unicode sets aside 65 code points in the general category Cc control for compatibility with ISO IEC 2022 These are U 0000 U 001F C0 controls and U 007F delete assigned to the Basic Latin block and U 0080 U 009F C1 controls assigned to the Latin 1 Supplement block Unicode only specifies semantics for U 0009 U 000D U 001C U 001F and U 0085 The rest of the control codes are transparent to Unicode and their meanings are left to higher level protocols 19 Besides these Unicode include additional format effector characters besides these such as marks embeds isolates and pops for explicit bidirectional formatting and the zero width joiner and non joiner for controlling ligature use However these are given the general category Cf format rather than Cc See also editControl Pictures ANSI escape codeFootnotes edit The name BELL is assigned by Unicode to the unrelated emoji character U 1F514 While C0 and C1 control characters were not formally named by the Unicode standard itself at the time this collided with existing use of BELL as the name of this control character in software following the previous versions of UTS 18 the Unicode Regular Expressions standard 4 e g in Perl 5 Unicode now accepts ALERT and BEL but not BELL as formal aliases for the control character 6 although the code chart still lists BELL as the ISO 6429 alias 7 and the corresponding control picture code point is called SYMBOL FOR BELL Perl subsequently switched to using BELL for the emoji in version 5 18 8 The e escape sequence is not part of ISO C and many other language specifications However it is understood by several compilers including GCC Not the same as the Operating System Command OSC in the ISO IEC 6429 C1 code set Spelled Syllabication sic in the ISO IR 040 document along with syllable being spelled syllabe sic in the description These are presumably typographical errors References edit a b c d e f g ISO TC 97 SC 2 1975 The set of control characters of the ISO 646 PDF ITSCJ IPSJ ISO IR 1 a href Template Citation html title Template Citation citation a CS1 maint numeric names authors list link a b c d e f g h i j k IPTC 1995 The IPTC Recommended Message Format PDF 5th ed IPTC TEC 7901 a b c d end of transmission character EOT Federal Standard 1037C 1996 Archived from the original on 2016 03 09 Williamson Karl Re PRI 202 Extensions to NameAliases txt for Unicode 6 1 0 a b c d e Ken Whistler July 20 2011 Formal Name Aliases for Control Characters L2 11 281 Unicode Consortium a b c d Name Aliases Unicode Character Database Unicode Consortium C0 Controls and Basic Latin PDF Unicode Consortium charnames Perl Programming Documentation ISO IEC JTC 1 SC 2 1998 02 12 Final Text of DIS 8859 10 Information Technology 8 bit single byte coded graphic character sets Part 10 Latin alphabet No 6 PDF ISO IEC FDIS 8859 10 1998 JTC1 SC2 N2992 WG3 N415 a href Template Citation html title Template Citation citation a CS1 maint numeric names authors list link data link escape character DLE Federal Standard 1037C 1996 Archived from the original on 2016 08 01 Supplementary transmission control functions an extension of the basic mode control procedures for data communication systems European Computer Manufacturers Association 1972 ECMA 37 Wolf Misha Whistler Ken Wicksteed Charles Davis Mark Freytag Asmus Scherer Markus 2005 05 06 10 1 Avoiding Control Byte Values A Standard Compression Scheme for Unicode Unicode Consortium UTS 6 What is the point of Ctrl S Unix and Linux Stack exchange Retrieved 14 February 2019 Fox Brian Adding a new node to Info Info The online menu driven GNU documentation system GNU Project a b c d e f g Control function codes MARC 21 Specifications for Record Structure Character Sets and Exchange Media Library of Congress 2007 12 04 Built in Types str splitlines The Python Standard Library Python Software Foundation a b ECMA 1994 7 3 Invocation of character set code elements Character Code Structure and Extension Techniques PDF ECMA Standard 6th ed p 14 ECMA 35 American Standards Association 1963 American Standard Code for Information Interchange 4 Legend p 6 ASA X3 4 1963 a b c d 23 1 Control Codes PDF The Unicode Standard 12 0 0 ed Unicode Consortium 2019 pp 868 870 ISBN 978 1 936213 22 1 a b ECMA 1994 6 4 2 Primary sets of coded control functions Character Code Structure and Extension Techniques PDF ECMA Standard 6th ed p 11 ECMA 35 ECMA 1994 6 4 3 Supplementary sets of coded control functions Character Code Structure and Extension Techniques PDF ECMA Standard 6th ed p 11 ECMA 35 a b c d e f g h i j k l m Sveriges Standardiseringskommission 1975 NATS Control set for newspaper text transmission PDF ITSCJ IPSJ ISO IR 7 a b c d e f g h i j k l m n IPTC 1976 Control set for newspaper text transmission PDF ITSCJ IPSJ ISO IR 26 a b ITU 1985 Teletex Primary Set of Control Functions PDF ITSCJ IPSJ ISO IR 106 Urad pro normalizaci a mereni 1987 The set of control characters of ISO 646 with EM replaced by SS2 PDF ITSCJ IPSJ ISO IR 140 ISO TC 97 SC 2 1977 The set of control characters of ISO 646 with IS4 replaced by Single Shift for G2 SS2 PDF ITSCJ IPSJ ISO IR 36 a href Template Citation html title Template Citation citation a CS1 maint numeric names authors list link ISO TC 97 SC 2 1982 The C0 set of Control Characters of Japanese Standard JIS C 6225 1979 PDF ITSCJ IPSJ ISO IR 74 a href Template Citation html title Template Citation citation a CS1 maint numeric names authors list link a b ISO TC97 SC2 WG6 Liaison statement to ISO TC97 SC2 WG8 and ISO TC97 SC18 WG8 PDF ISO TC97 SC2 WG6 N317 rev Archived from the original PDF on 2020 10 26 a href Template Cite web html title Template Cite web cite web a CS1 maint numeric names authors list link Printronix 2012 OKI Programmer s Reference Manual PDF p 26 Ewell Doug 2020 10 16 Teletext separated mosaic graphics Unicode Mailing List Archive Unicode Consortium ECMA TC 1 1973 Brief History 7 bit Input Output Coded Character Set PDF 4th ed ECMA ECMA 6 1973 a href Template Citation html title Template Citation citation a CS1 maint numeric names authors list link a b c ECMA TC 1 1971 8 2 Correspondence between the 7 bit Code and an 8 bit Code Extension of the 7 bit Coded Character Set PDF 1st ed ECMA pp 21 24 ECMA 35 1971 a href Template Citation html title Template Citation citation a CS1 maint numeric names authors list link ECMA TC 1 1973 4 2 Specific Control Characters 7 bit Input Output Coded Character Set PDF 4th ed ECMA p 16 ECMA 6 1973 a href Template Citation html title Template Citation citation a CS1 maint numeric names authors list link ECMA TC 1 1974 5 Notes on Table 1 8 bit Coded Character Set PDF 1st ed ECMA pp 4 5 ECMA 43 1974 a href Template Citation html title Template Citation citation a CS1 maint numeric names authors list link a b c ISO IEC International Register of Coded Character Sets To Be Used With Escape Sequences PDF ITSCJ IPSJ ISO IR a b c d DIN 1979 07 15 Additional Control Codes for Bibliographic Use according to German Standard DIN 31626 PDF ITSCJ IPSJ ISO IR 40 a b c d e f ISO TC97 SC2 1983 10 01 C1 Control Set of ISO 6429 1983 PDF ITSCJ IPSJ ISO IR 77 a href Template Citation html title Template Citation citation a CS1 maint numeric names authors list link ECMA TC 1 1979 Brief History Additional Control Functions for Character Imaging I O Devices PDF 2nd ed ECMA ECMA 48 1979 a href Template Citation html title Template Citation citation a CS1 maint numeric names authors list link a b ECMA TC 1 1985 5 3 8 Sets of 96 graphic characters Code Extension Techniques PDF 4th ed ECMA pp 17 18 ECMA 35 1985 a href Template Citation html title Template Citation citation a CS1 maint numeric names authors list link ECMA TC 1 1985 5 2 1 Use of locking shift functions Code Extension Techniques PDF 4th ed ECMA pp 9 10 ECMA 35 1985 a href Template Citation html title Template Citation citation a CS1 maint numeric names authors list link ISO IEC JTC 1 SC 2 WG 3 1998 02 12 Final Text of DIS 8859 1 8 bit single byte coded graphic character sets Part 1 Latin alphabet No 1 PDF ISO IEC FDIS 8859 1 1998 JTC1 SC2 N2988 WG3 N411 This set of coded graphic characters may be regarded as a version of an 8 bit code according to ISO IEC 2022 or ISO IEC 4873 at level 1 The shaded positions in the code table correspond to bit combinations that do not represent graphic characters Their use is outside the scope of ISO IEC 8859 it is specified in other International Standards for example ISO IEC 6429 a href Template Citation html title Template Citation citation a CS1 maint numeric names authors list link JIS X 02xx 符号 in Japanese a b c d e Ken Whistler 2015 10 05 Why Nothing Ever Goes Away Unicode Mailing List ECMA 1991 Control Functions for Coded Character Sets Standard ECMA 48 Lunde Ken 2008 CJKV Information Processing Chinese Japanese Korean and Vietnamese Computing O Reilly p 244 ISBN 9780596800925 VT100 Widget Resources hpLowerleftBugCompat xterm terminal emulator for X Moy Edward Gildea Stephen Dickey Thomas Device Control functions XTerm Control Sequences a b c d e Code Table Extended Latin ANSEL MARC 21 Specifications for Record Structure Character Sets and Exchange Media Library of Congress 2007 12 05 a b c Brender Ronald F 1989 Ada 9x Project Report Character Set Issues for Ada 9x Carnegie Mellon University Moy Edward Gildea Stephen Dickey Thomas Operating System Commands XTerm Control Sequences Frank da Cruz Christine Gianone 1997 Using C Kermit Digital Press p 278 ISBN 978 1 55558 164 0 Information processing bibliographic control characters Beuth publishing DIN DIN 31626 1978 12 a b c d e ISO TC 46 1983 06 01 Additional Control Codes for Bibliographic Use according to International Standard ISO 6630 PDF ITSCJ IPSJ ISO IR 67 a href Template Citation html title Template Citation citation a CS1 maint numeric names authors list link a b c d e ISO TC 46 1986 02 01 Additional Control Codes for Bibliographic Use according to International Standard ISO 6630 PDF ITSCJ IPSJ ISO IR 124 a href Template Citation html title Template Citation citation a CS1 maint numeric names authors list link DIN ISO 6630 December 1997 AFNOR Editions Online Store a b Umamaheswaran V S 1999 11 08 3 3 Step 2 Byte Conversion UTF EBCDIC Unicode Consortium Unicode Technical Report 16 The 64 control characters the ASCII DELETE character U 007F are mapped respecting EBCDIC conventions as defined in IBM Character Data Representation Architecture CDRA with one exception the pairing of EBCDIC Line Feed and New Line control characters are swapped from their CDRA default pairings to ISO IEC 6429 Line Feed U 000A and Next Line U 0085 control characters Steele Shawn 1996 04 24 cp037 IBMUSCanada to Unicode table Microsoft Unicode Consortium The Unicode Standard C0 Controls and Basic Latin C1 Controls and Latin 1 Supplement Control Pictures The Unicode Standard Version 6 1 0 Chapter 16 Special Areas and Format Characters ATIS Telecom Glossary 2007 De litteris regentibus C1 quaestiones septem or Are C1 characters legal in XHTML 1 0 W3C I18N FAQ HTML XHTML XML and Control Codes International register of coded character sets to be used with escape sequences Retrieved from https en wikipedia org w index php title C0 and C1 control codes amp oldid 1188326734 Device control, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.