Telnet extended ASCII option
obsoleted by
- rfc-5198 — Unicode Format for Network Interchange
Extracted elements (10)
Because 7-bit ASCII is typed most of the time with only occasional extended characters, the option uses standard NVT ASCII for 7-bit characters and an escape subnegotiation sequence only for extended ASCII, minimizing overhead.
Extended ASCII is needed because sites such as SU-AI and MIT-AI use keyboards with nearly all 128 characters as printable, plus one or more additional 'control' bits for command modifiers or to distinguish textual from command input. Without this, characters like the Greek letter beta (which maps to CONTROL-C) cannot be sent as text.
The specific Stanford graphic character set described in Section 6 is provided for reference only and is explicitly not required as part of the EXTEND-ASCII Telnet option, allowing sites to define their own interpretations of the additional bits.
The use of 'CONTROL' in this option is non-standard: it does not refer to NVT ASCII control codes 0–37, but rather to bit 8 of the extended character. Implementors must not conflate the two meanings.
The default state is DON'T EXTEND-ASCII / WON'T EXTEND-ASCII, meaning only standard NVT ASCII is used unless the option is explicitly negotiated.
At SU-AI and MIT-AI, bit 8 (octal 200) is defined as the CONTROL bit and bit 9 (octal 400) is defined as the META bit. These bits are passed directly to the user program. CONTROL-META (both bits set) is echoed as 013 014 followed by the 7-bit character.
IAC WILL EXTEND-ASCII requests permission to begin transmitting extended ASCII. IAC WON'T EXTEND-ASCII refuses or cancels extended ASCII transmission. IAC DO EXTEND-ASCII grants permission; IAC DON'T EXTEND-ASCII demands cessation of extended ASCII mode.
The EXTEND-ASCII Telnet option is assigned option code 17. It enables negotiation to transmit extended ASCII characters with additional control bits beyond standard 7-bit NVT ASCII.
The Stanford Extended ASCII character set maps codes 000–177 to a specific graphic character set including Greek letters, logical symbols, and mathematical operators. Codes 040–135 and 140–174 are identical to standard ASCII. Several codes (011, 012, 013, 014, 015, 177) have 'hidden' alternate graphic interpretations used by typesetting programs.
An extended ASCII character is transmitted as: IAC SB EXTASC <high order bits (bits 15-8)> <low order bits (bits 7-0)> IAC SE. Each of the two 8-bit bytes carries 8 data bits, yielding a 16-bit extended character.