ASCII 与 ANSI
ASCII 与 ANSI Code
ANSI Code | ASCII | |
---|---|---|
管理组织 | 美国国家标准协会 | 美国信息交换标准代码 |
字符集 | 256 | 128 |
Bit | 8-bit | 7-bit |
一致性 | 根据系统上下文有区别 | 每个系统都用同一套 ASCII 码点 |
标准化 | No | Yes |
- ANSI 编码 (ANSI Code)
- ANSI 编码是由美国国家标准协会 ((ANSI: American National Standards Institute) 制定的标准化的数字或字母标识符。
- 美国国家标准协会是负责制定美国国家标准的非营利组织。
- ANSI 编码是 ASCII 的超集。包含了 ASCII 字符,使用 8 位二进制,扩展到 256 个字符。
- ANSI 编码在 1991 年被 Unicode 代替了。
- ASCII
- 这套编码共有 128 个字符,由 7 位二进制进行编号。
- 其中 0~31 号,加上最后的 127 号 Delete 字符是 33 个不被显示的控制字符。其余 95 个字符正好与标准键盘符合。
参考文章
ANSI 转义序列
虽然 ANSI 编码已成历史,但是 ANSI 转义序列保留至今。现在绝大多数终端都依然支持转义序列。
ANSI 转义序列 (ANSI Escape Sequences) 是一种带内信号 (In-band signaling) 的转义序列标准,用于控制视频文本终端上的光标位置、颜色和其他选项。
控制序列 (Control Sequence)
- ESC - sequence starting with ESC (\x1B)
- CSI - Control Sequence Introducer: sequence starting with ESC [ or CSI (\x9B)
- DCS - Device Control String: sequence starting with ESC P or DCS (\x90)
-
OSC - Operating System Command: sequence starting with ESC ] or OSC (\x9D)
- Ctrl-Key 字符
^[
。
ASCII Escape 字符
Escape (ESC) 字符的表示方法有很多:
- 十六进制的
0x1b
或0x1B
。 - 八进制的
\033
表示。 - Unicode 字符
\u001b
。 - 十进制
27
。 - 固定字符
\e
注意这些字符表示法并不是所有程序或设备都支持,需要看情况使用。