马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
前言
大家在用按键自带的File插件在读写文件时,难免会遇到乱码的情况,这是因为通过电脑记事本保存的中文汉字默认编码是GB2312,而File插件却只能读取UTF-8编码的内容。
思路
既然是编码错误导致了乱码问题,那么我们只要让编码正确就行了。按键自带的File插件无法设置编码,但是紫猫插件的文件读写全部支持自定义编码,而且还支持自动识别编码。
下载
紫猫插件下载地址:https://zimaoxy.com/b/t-77-1-1.html
也可以加入QQ群:7333555后到群文件共享中下载紫猫插件,点击加入群聊【紫猫✿按键精灵后花园】
命令
zm.FileEncode()可以获取到文件的编码格式。
zm.FileInit()可以设置后面所有的紫猫文件读写命令使用的编码格式。
zm.FileRead()支持自定义编码读取文件内容。
zm.FileWrite()支持zm.FileInit()设置的编码写入内容。
实例
[按键精灵] 纯文本查看 复制代码 Import "zm.luae" //导入插件,只需执行一次
zm.Init //初始化插件,只需执行一次
//例子: 读取正确编码后设置紫猫插件的File系列命令默认编码, 解决中文乱码问题, 这是最快速有效的方法
//在电脑记事本里写入一串中文内容, 然后传到手机里
Dim path = "/sdcard/电脑文件.txt"
//读取文件的编码, 并设置File系列命令使用该编码
//注意, 插件并没有改变文件编码, 只是自动转换了读写时的编码
//注意, 设置编码只对紫猫插件的文件读写系列命令有效, 对File插件无效!
//3.1835以上版本才有第二个参数直接设置编码, 旧版本请用zm.FileInit()来实现
Dim code = zm.FileEncode(path, True)
TracePrint "得到并设置文件编码为:", code
//读取该文件内容, 注意必须用紫猫插件的读写, 不支持File插件!
Dim txt = zm.FileRead(path)
TracePrint "得到文件内容为:", txt
//按照设置的默认编码, 追加写入该文件内容
zm.FileWriteAppend path, "追加写入中文内容, 不会乱码"
//紫猫插件的其他文件读写命令也会按照设置的默认编码对文件进行操作
|