跳转到内容

文件和文件夹支持的编码名称

以下列表是 File 对象支持的基本编码名称集合。其中一些字符编码器是内置的,而大多数其他编码器是通过查询操作系统获得的。

根据安装的语言包,某些编码可能不可用。指向相同编码的名称列在一行中。在匹配编码名称之前,下划线会被替换为短横线。

File 对象将值大于 65535 的扩展 Unicode 字符处理为 Unicode 代理对(两个字符,范围在 0xD700-0xDFFF 之间)。

内置编码包括:

US-ASCII, ASCII, ISO646-US, ISO-646.IRV:1991, ISO-IR-6,
ANSI-X3.4-1968, CP367, IBM367, US, ISO646.1991-IRV
UCS-2, UCS2, ISO-10646-UCS-2
UCS2LE, UCS-2LE, ISO-10646-UCS-2LE
UCS2BE, UCS-2BE, ISO-10646-UCS-2BE
UCS-4, UCS4, ISO-10646-UCS-4
UCS4LE, UCS-4LE, ISO-10646-UCS-4LE
UCS4BE, UCS-4BE, ISO-10646-UCS-4BE
UTF-8, UTF8, UNICODE-1-1-UTF-8, UNICODE-2-0-UTF-8, X-UNICODE-2-0-UTF-8
UTF16, UTF-16, ISO-10646-UTF-16
UTF16LE, UTF-16LE, ISO-10646-UTF-16LE
UTF16BE, UTF-16BE, ISO-10646-UTF-16BE
CP1252, WINDOWS-1252, MS-ANSI
ISO-8859-1, ISO-8859-1, ISO-8859-1:1987, ISO-IR-100, LATIN1
MACINTOSH, X-MAC-ROMAN
BINARY

ASCII 编码器会对大于 127 的字符报错,而 BINARY 编码器则简单地通过使用低 8 位在字节和 Unicode 字符之间进行转换。后者便于读取和写入二进制数据。


在 Windows 中,所有编码都使用代码页,这些代码页被分配了数值。例如,Windows 使用的常见西方字符集是代码页 1252。你可以通过在代码页编号前加上 “CP” 或 “WINDOWS” 来选择 Windows 代码页:例如,代码页 1252 为 “CP1252”。File 对象有许多其他内置的编码名称,这些名称与预定义的代码页编号匹配。如果代码页不存在,则无法选择该编码。

在 Mac OS 中,你可以通过名称而不是代码页编号来选择编码器。File 对象直接向 Mac OS 查询编码器。只要 Mac OS 字符集与 Windows 代码页相同,Mac OS 也会知道 Windows 代码页编号。

在 UNIX 中,可用编码器的数量取决于 iconv 库的安装。

以下编码名称在 Windows 和 Mac OS 中均实现:

UTF-7, UTF7, UNICODE-1-1-UTF-7, X-UNICODE-2-0-UTF-7
ISO-8859-2, ISO-8859-2, ISO-8859-2:1987, ISO-IR-101, LATIN2
ISO-8859-3, ISO-8859-3, ISO-8859-3:1988, ISO-IR-109, LATIN3
ISO-8859-4, ISO-8859-4, ISO-8859-4:1988, ISO-IR-110, LATIN4, BALTIC
ISO-8859-5, ISO-8859-5, ISO-8859-5:1988, ISO-IR-144, CYRILLIC
ISO-8859-6, ISO-8859-6, ISO-8859-6:1987, ISO-IR-127, ECMA-114, ASMO-708, ARABIC
ISO-8859-7, ISO-8859-7, ISO-8859-7:1987, ISO-IR-126, ECMA-118, ELOT-928, GREEK8, GREEK
ISO-8859-8, ISO-8859-8, ISO-8859-8:1988, ISO-IR-138, HEBREW
ISO-8859-9, ISO-8859-9, ISO-8859-9:1989, ISO-IR-148, LATIN5, TURKISH
ISO-8859-10, ISO-8859-10, ISO-8859-10:1992, ISO-IR-157, LATIN6
ISO-8859-13, ISO-8859-13, ISO-IR-179, LATIN7
ISO-8859-14, ISO-8859-14, ISO-8859-14, ISO-8859-14:1998, ISO-IR-199, LATIN8
ISO-8859-15, ISO-8859-15, ISO-8859-15:1998, ISO-IR-203
ISO-8859-16, ISO-885, ISO-885, MS-EE
CP850, WINDOWS-850, IBM850
CP866, WINDOWS-866, IBM866
CP932, WINDOWS-932, SJIS, SHIFT-JIS, X-SJIS, X-MS-SJIS, MS-SJIS, MS-KANJI
CP936, WINDOWS-936, GBK, WINDOWS-936, GB2312, GB-2312-80, ISO-IR-58, CHINESE
CP949, WINDOWS-949, UHC, KSC-5601, KS-C-5601-1987, KS-C-5601-1989, ISO-IR-149, KOREAN
CP950, WINDOWS-950, BIG5, BIG-5, BIG-FIVE, BIGFIVE, CN-BIG5, X-X-BIG5
CP1251, WINDOWS-1251, MS-CYRL
CP1252, WINDOWS-1252, MS-ANSI
CP1253, WINDOWS-1253, MS-GREEK
CP1254, WINDOWS-1254, MS-TURK
CP1255, WINDOWS-1255, MS-HEBR
CP1256, WINDOWS-1256, MS-ARAB
CP1257, WINDOWS-1257, WINBALTRIM
CP1258, WINDOWS-1258
CP1361, WINDOWS-1361, JOHAB
EUC-JP, EUCJP, X-EUC-JP
EUC-KR, EUCKR, X-EUC-KR
HZ, HZ-GB-2312
X-MAC-JAPANESE
X-MAC-GREEK
X-MAC-CYRILLIC
X-MAC-LATIN
X-MAC-ICELANDIC
X-MAC-TURKISH
CP437, IBM850, WINDOWS-437
CP709, WINDOWS-709, ASMO-449, BCONV4
EBCDIC
KOI-8R
KOI-8U
ISO-2022-JP
ISO-2022-KR

这些名称是 Mac OS 可能知道的编码的别名:

TIS-620, TIS620, TIS620-0, TIS620.2529-1, TIS620.2533-0, TIS620.2533-1, ISO-IR-166
CP874, WINDOWS-874
JP, JIS-C6220-1969-RO, ISO646-JP, ISO-IR-14
JIS-X0201, JISX0201-1976, X0201
JIS-X0208, JIS-X0208-1983, JIS-X0208-1990, JIS0208, X0208, ISO-IR-87
JIS-X0212, JIS-X0212.1990-0, JIS-X0212-1990, X0212, ISO-IR-159
CN, GB-1988-80, ISO646-CN, ISO-IR-57
ISO-IR-16, CN-GB-ISOIR165
KSC-5601, KS-C-5601-1987, KS-C-5601-1989, ISO-IR-149
EUC-CN, EUCCN, GB2312, CN-GB
EUC-TW, EUCTW, X-EUC-TW

在 UNIX 中,File 对象会查找 iconv 库的存在,并使用其中找到的任何编码。如果你在 UNIX 中需要特殊编码,请确保安装了 iconv 编码模块,该模块可以在 UTF-16(File 对象使用的内部格式)和所需编码之间进行转换。