Function Reference

首页  后退  前进

FileGetEncoding

 

检测文件使用的文本编码.

 

FileGetEncoding ( "filehandle/filename" [, mode = 1] )

参数

filehandle/filename

由此前 FileOpen() 函数返回的文件句柄. 也可以使用文件名字符串作为参数

mode

[可选] 使用 UTF8 检测模式.

   $FE_ENTIRE_UTF8 (1) = 检测整个文件的 UTF8 序列 (默认)

   $FE_PARTIALFIRST_UTF8 (2) = 检查文件第一部分的 UTF8 序列 (相当于 FileOpen() 使用默认值)

 

常量定义在 FileConstants.au3

返回值

成功:

返回类似 FileOpen() 函数的文件编码:

   $FO_UTF16_LE (32) = UTF16 小编码.

   $FO_UTF16_BE (64) = UTF16 大编码.

   $FO_UTF8 (128) = UTF8 (有 BOM).

   $FO_UTF8_NOBOM (256) = UTF8 (无 BOM).

   $FO_ANSI (512) = ANSI (包含制服 > 127 和 < 255)

失败:

-1

 

常量定义在 FileConstants.au3.

备注

如果指定的是文件名而不是文件句柄 - 文件将被打开, 并在函数调用期间关闭.

注意: 不要混合使用文件句柄和文件名, 即不要在使用 FileOpen() 打开文件后,

又在函数中使用文件名. 不能同时使用文件名和文件句柄!

 

如果使用文件句柄, 则"模式"参数没有作用 - "mode"参数为 FileOpen() 优先使用的参数.

相关

FileOpen, FileRead, FileReadLine, FileWrite, FileWriteLine

函数示例

#include <MsgBoxConstants.au3>
Example()
Func Example()
    Local $iEncoding = FileGetEncoding(@ScriptFullPath) ; Retrieve the file encoding of the current script.
    If @error Then
        MsgBox($MB_SYSTEMMODAL, "", "Error: Could not obtain the file encoding.")
    Else
        MsgBox($MB_SYSTEMMODAL, "", "FileGetEncoding: The value returned was: " & $iEncoding) ; The value returned for this example should be 0 or $FO_ANSI.
    EndIf
EndFunc   ;==>Example

----------------------------------------