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
----------------------------------------
|