找回密码
 加入
搜索
查看: 6012|回复: 16

[AU3基础] [已解决]3.3.14.2 版 FileGetEncoding 函数示例异常

  [复制链接]
发表于 2016-4-24 11:24:57 | 显示全部楼层 |阅读模式
本帖最后由 131738 于 2016-4-24 12:29 编辑

检测文件编码函数 FileGetEncoding() 示例脚本在英文版 Xp3 系统, 英文版 AutoIt 3.3.14.2 + SciTE 3.6.2 中运行正常:



但 英版环境 编译的 exe 运行异常:



先是在中文版中测试时发现这个问题, 到英版测试结果一样, 而在 3.3.12.0 中文版是正常的!

有谁能知道什么原因吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2016-4-24 12:11:05 | 显示全部楼层
是对的,因为其测试的是 @ScriptFullPath,未编译时是文本格式,256很正常,编译后都是二进制的,所以就成了16了
 楼主| 发表于 2016-4-24 12:19:40 | 显示全部楼层
是对的,因为其测试的是 @ScriptFullPath,未编译时是文本格式,256很正常,编译后都是二进制的,所以就成了 ...
afan 发表于 2016-4-24 12:11


我在研究一下, 实在不行在请教. 谢谢
 楼主| 发表于 2016-4-24 12:28:59 | 显示全部楼层
回复 2# afan

明白了, 不能用 @ScriptFullPath 宏, 我再想其它办法..........
发表于 2016-4-24 12:30:42 | 显示全部楼层
回复 3# 131738


    前辈说的 3.3.12.0 正常,如果也是测试的自身,编译后如果不是 16 反倒才是不正常的
 楼主| 发表于 2016-4-24 13:38:36 | 显示全部楼层
本帖最后由 131738 于 2016-4-24 13:50 编辑
回复  131738


    前辈说的 3.3.12.0 正常,如果也是测试的自身,编译后如果不是 16 反倒才是不正常的 ...
afan 发表于 2016-4-24 12:30
$E = @ScriptFullPath
$W = BinaryToString($E)
上面代码如果路径字符串有中文,而且路径太深, BinaryToString() 返回路径不完整, 参数标志 1 会丢失后面部分, 2,3 返回空, 4 同样会丢失后面部分, 而路径字符串有乱码.
这个什么原因呢........

知道了, 是否 BinaryToString() 不能转换包含中文的字符串
发表于 2016-4-24 13:46:41 | 显示全部楼层
上面代码如果路径字符串有中文,而且路径太深, BinaryToString() 返回路径不完整, 参数标志 1 会丢失后面部分 ...
131738 发表于 2016-4-24 13:38



    BinaryToString? 反了吧
发表于 2016-4-24 13:52:10 | 显示全部楼层
上面代码如果路径字符串有中文,而且路径太深, BinaryToString() 返回路径不完整, 参数标志 1 会丢失后面部分 ...
131738 发表于 2016-4-24 13:38



    应该先用 SToB,再BToS,而且,为了防止U码字符丢失,标志应为4
$E = StringToBinary(@ScriptFullPath, 4)
$W = BinaryToString($E, 4)
 楼主| 发表于 2016-4-24 13:52:32 | 显示全部楼层
BinaryToString? 反了吧
afan 发表于 2016-4-24 13:46


不明白, 再赐教.........
是否 BinaryToString() 不能转换包含中文的字符串
发表于 2016-4-24 13:57:16 | 显示全部楼层
不明白, 再赐教.........
是否 BinaryToString() 不能转换包含中文的字符串
131738 发表于 2016-4-24 13:52



    8#说了~
 楼主| 发表于 2016-4-24 13:57:49 | 显示全部楼层
应该先用 SToB,再BToS,而且,为了防止U码字符丢失,标志应为4
afan 发表于 2016-4-24 13:52


OK 好深的学问, 领教了, 谢谢........
发表于 2016-4-24 14:00:14 | 显示全部楼层
回复 11# 131738


    前辈客气了~
 楼主| 发表于 2016-4-24 14:26:06 | 显示全部楼层
回复 12# afan

最终这个方法不能用,编译后 @ScriptFullPath 返回的是 exe 文件名和路径,不是我需要测试的脚本文件, 我还得重想办法了.........
发表于 2016-4-24 14:37:24 | 显示全部楼层
回复  afan

最终这个方法不能用,编译后 @ScriptFullPath 返回的是 exe 文件名和路径,不是我需要测试的脚 ...
131738 发表于 2016-4-24 14:26



    不知道要测试什么
 楼主| 发表于 2016-4-24 15:21:05 | 显示全部楼层
不知道要测试什么
afan 发表于 2016-4-24 14:37


解决了, 看了你的 Wrapper, 我也加个文件编码检查, 刚刚完成了!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-23 02:46 , Processed in 0.083832 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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