# FileEncoding

为 FileRead, Loop Read, FileAppend 和 FileOpen 设置默认编码.

    FileEncoding Encoding

## 参数

Encoding

  类型: 字符串或整数

  以下值之一:

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

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

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

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

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

  nnn: 数字代码页标识符.

## 返回值

类型: 字符串

函数返回以前的设置.

## 备注

内置变量 A_FileEncoding 包含了当前的默认编码设置.

如果脚本没有另外设置, 则默认为 CP0.

CP0 不能普遍标识单个代码页; 相反, 它对应于系统默认的 ANSI 代码页, 这取决于系统区域设置或系统设置的 "非 unicode 程序的语言". 如果 CP0 是当前设置, A_FileEncoding 返回 CP0(从不为空值). 要获取实际代码页编号, 请调用 `DllCall("GetACP")`.

每个新启动的线程(如热键, 自定义菜单项或计时器子例程) 都使用此函数的默认设置重新启动. 这个默认设置可以通过在脚本启动中使用此函数来改变.

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

## 相关

FileOpen, StrGet, StrPut, 读取二进制数据

dftg