基 础 函 数 参 考


FileGetEncoding

检测文件的文本编码.

FileGetEncoding ( "文件句柄/文件名" [, 模式] )

参 数

文件句柄/文件名 由此前 FileOpen 函数返回的文件句柄. 也可以使用文件名字符串作为参数.
模式 [可选参数] 使用 UTF8 检测模式.
1 = 检测整个文件的 UTF8 序列 (默认)
2 = 检查文件第一部分的 UTF8 序列 (相当于 FileOpen 使用默认值)

返 回 值

成功: 返回类似 FileOpen 函数值的文件编码:
0 = ANSI
32 = UTF16 小编码(Little Endian).
64 = UTF16 大编码(Big Endian).
128 = UTF8 (有 BOM).
256 = (无 BOM).
失败: 返回 -1.

备 注

如果指定的是文件名而不是文件句柄 - 文件将被打开, 并在函数调用期间关闭.
注意: 不要混合使用文件句柄和文件名, 即不要在使用 FileOpen 打开文件后,
又在函数中使用文件名. 不能同时使用文件名和文件句柄!

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

相 关 函 数

FileOpen, FileRead, FileReadLine, FileWrite, FileWriteLine

函 数 示 例


Local $encoding = FileGetEncoding(@WindowsDir & "\system.ini")
If @error Then
    MsgBox(4096, "错误", "不能获取文件编码.")
    Exit
Else
    MsgBox(4096, "", "文件编码: " & $encoding)
EndIf

provider with jb51.net (unicode)