文本文件编码和行结束符
字符集
文本文件使用字符集。字符集包含标点符号、数字、大小写字母及其他所有可打印字符。字符集中的每个字符都由一个数字标识。
大多数使用中的字符集都是美国 ASCII 字符集的超集;ASCII 的 95 个可打印字符的数值范围为 32 到 126。主要的字符集类别如下:
- Windows 字符集(单字节编码方案)
- 旧式 Windows 单字节代码页通常称为 ANSI 代码页,每个字符使用 8 位,最多可分配 256(2^8)个值。不同代码页为特定语言提供不同字符;一个代码页不能覆盖所有语言。现代 Windows 也支持 Unicode 编码。
- 多字节字符集
- 许多东亚书写系统所需的字符数量超出了单字节编码的表示范围。旧式双字节代码页对每个字符使用一个或两个字节。其他多字节编码采用不同规则;例如,UTF-8 对每个 Unicode 标量值使用一到四个字节。必须知道编码才能正确解码字节。
- Unicode 字符集
- Unicode 为各书写系统的字符、标点、符号及其他文本元素分配码位。UTF-8、UTF-16 和 UTF-32 使用不同大小的代码单元来编码 Unicode 文本。UTF-16 对基本多文种平面中的字符使用一个 16 位代码单元,对补充字符使用一对 16 位代码单元。Unicode 并不限于 65,536 个字符,读写文本文件时必须选择正确的编码。
- OEM 字符集
- OEM 字符集通常用于全屏 MS-DOS 会话的屏幕显示。OEM、美国 ASCII 和 Windows 字符集中数值为 32 到 126 的可打印字符通常相同。OEM 字符集中的其他字符(0 到 31 和 128 到 255)对应于全屏 MS-DOS 会话中可显示的字符。这些字符通常不同于 Windows 字符。
- Symbol 字符集
- Symbol 字符集包含通常用于表示数学和科学公式的特殊字符。
行结束符
文本文件使用不同的换行符。MS-DOS、Windows 和 OS/2 传统上使用 CR/LF;UNIX 和现代 macOS 使用 LF。经典 Mac OS 使用 CR。
| 符号 | 含义 | 使用环境 | 字符 | 十六进制 |
|---|---|---|---|---|
| CR | 回车 | 经典 Mac OS | \r | 0x0d |
| LF | 换行 | UNIX、现代 macOS | \n | 0x0a |
| CR/LF | 回车/换行 | MS-DOS、Windows、OS/2 | \r\n | 0x0d, 0x0a |
| NULL | 空字符 | \0 | 0x00 |
另请参阅
From the Sally manual (GPL-2.0-or-later), © 1997-2023 Open Salamander Authors; © 2025-2026 Elias Bachaalany. Source: manual source (zip) · original page in the Sally repository