zm.FileEncode 获取文件编码

文章目录
  1. 1. 功能
  2. 2. 语法
  3. 3. 参数
  4. 4. 返回值
  5. 5. 示例
  6. 6. 备注

功能

获取一个文件的编码, 可以用于zm.FileInit 初始化设置File参数等命令, 目前仅支持UTF-8中文编码(兼容gb2312等)

语法

结果 = zm.FileEncode(文件路径[, 是否设置编码])

参数

参数 数据类型 解释
文件路径 字符串 要操作的文件路径
是否设置编码 布尔型 可选, 是否将获取的编码设置为File系列命令的默认编码, 省略默认false
检测行数 数值型 可选, 检测多少行内容, 省略默认为所有行内容, 行数越小, 检测耗时越小

返回值

字符串 , 成功返回"utf-8""gb18030", 失败返回null

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Import "zm.luae" //导入插件,只需执行一次
zm.Init //初始化插件,只需执行一次

Dim code = zm.FileEncode("/sdcard/测试编码文件.txt", True)
If code Then
TracePrint "得到并设置文件编码为: ", code
Else
TracePrint "获取编码失败"
End If

//下面是指定检测行数的功能, 可以缩短识别需要的时间, 但是超出行部分的内容就不做编码判断, 可能会出现误判

Dim qcode = zm.FileEncode("/sdcard/测试编码文件.txt", True, 10)
If qcode Then
TracePrint "得到并设置文件编码为: ", qcode
Else
TracePrint "获取编码失败"
End If

备注

  • 本命令目前仅支持中文utf-8两种编码, 脚本只关心读取结果不出现乱码, 不在乎正确编码
  • V3.1832: 加入命令
  • V3.1837: 由zm.FileGetEncode()改名为zm.FileEncode(), 且加入是否设置编码可选参数