FileEncoding [AHK_L 42+]

FileRead, FileReadLine, Loop Read, FileAppendFileOpen() 设置默认编码.

FileEncoding , Encoding

参数

Encoding

如果为空或省略, 则默认为 CP0. 否则, 指定以下字符串之一:

CP0: 系统默认的 ANSI 代码页. 见下文注释.

UTF-8: Unicode UTF-8, 等同于 CP65001.

UTF-8-RAW: 像上面一样, 但创建新文件时不写入字节顺序标记.

UTF-16: Unicode UTF-16 带小端字节顺序标识, 等同于 CP1200.

UTF-16-RAW: 像上面一样, 但创建新文件时不写入字节顺序标记.

CPnnn: 带数值标识符 nnn 的代码页. 请参阅代码页标识符.

备注

如果没有使用 FileEncoding, 则默认编码为 CP0.

CP0 不能普遍地标识单个代码页; 相反, 它对应于系统默认的 ANSI 代码页, 这取决于系统区域设置或 "非 Unicode 程序的语言" 系统设置. 要获得实际的代码页, 请调用 DllCall("GetACP").

内置变量 A_FileEncoding 包含当前设置. 如果 CP0 是当前设置, A_FileEncoding 返回一个空值.

每个新启动的线程(如热键, 自定义菜单项计时器子例程) 都使用此命令的默认设置重新启动. 可以在自动执行段(脚本的顶部) 中使用此命令来更改该缺省值.

如果文件中存在 UTF-8 或 UTF-16 字节顺序标识, 则不会使用默认编码, 除非文件以只写访问打开(即文件的先前内容被丢弃).

FileOpen(), StrGet, StrPut(), 脚本兼容性