找回密码
 加入
搜索
查看: 1907|回复: 5

[AU3基础] [已解决]关于新版v3.3.14.2或v3.3.15.0版本写文本编码的问题!

[复制链接]
发表于 2016-12-14 19:56:37 | 显示全部楼层 |阅读模式
本帖最后由 dhlhmgc 于 2016-12-14 22:15 编辑

写入文本编码问题提出:

之前用ACN版本的AutoIT 默认情况下,FileWrite、FileWriteLine两个语句,以文件名为参数(非FileOpen)写入文本时均默认为ANSI编码,
但在新版官方或汉化版本的帮助内已经明确:
‘-------------------------
写入文本时, AutoIt 默认使用 UTF8(无 BOM) 模式. 其它写入模式, 文件必须使用 FileOpen() 打开, 并设置相关标志.
写入文本不能包含 Chr(0) 字符, 此字符输出时会被截断.
编写这样的字符使用 FileWrite() 二进制模式打开文件.
’-------------------------
这样每次FileWrite或FileWriteLine都需要FileOpen进行编码指定

解决:
目前使用的是官方原版v3.3.15.0 beta ,请教各位大神:有没有特定的地方如OPT设置或其他地方,将上述文件操作语句默认写入改为ANSI(GB2312)方式

求解决办法!
看来目前暂时只能用:
FileWrite( FileOpen("文件名.txt", 2+8+512 ),"GB2312(ANSI)文件内容了!")
先解决当前问题,以后有更好的再提供!
发表于 2016-12-14 20:41:41 | 显示全部楼层
这个似乎是没有的,只能先open
 楼主| 发表于 2016-12-14 22:08:06 | 显示全部楼层
谢谢A大解答,再请教一下,经常有示例代码使用

FileWrite( FileOpen("a.txt",2+8), "这是内容。。。")
这类语句对文件进行写入文本,那请问 FileOpen句柄并没有被FileClose(关闭)对代码后续会有影响么?
发表于 2016-12-14 22:57:37 | 显示全部楼层
谢谢A大解答,再请教一下,经常有示例代码使用

FileWrite( FileOpen("a.txt",2+8), "这是内容。。。")
...
dhlhmgc 发表于 2016-12-14 22:08



    FileOpen() 对于已打开的文件应该会首先执行一次关闭再重新打开或刷新到磁盘的动作
重复写入操作肯定不建议这样嵌套书写…
 楼主| 发表于 2016-12-15 23:22:37 | 显示全部楼层
收到,感谢A大细心指导!
 楼主| 发表于 2016-12-15 23:23:39 | 显示全部楼层
收到,感谢A大细心指导! 结贴了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-26 18:40 , Processed in 0.076603 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表