找回密码
 加入
搜索
楼主: txm

[AU3基础] 关于 3mile 资深元老的AU3源码中文字符转二进制的反馈问题,谢谢!(已解决)

 火.. [复制链接]
发表于 2012-6-10 22:43:26 | 显示全部楼层
期待3mile大师更进一步更新,谢谢!
发表于 2012-6-11 11:56:14 | 显示全部楼层
回复 17# txm888
能力不够,一句正则无法准确获取,只能用笨办法了.
也许问题还很多,见谅
最近很忙,除了工作的事情以外,还要看球.太累了
#include <array.au3>

$file = FileOpenDialog("GBK2Bin", @ScriptDir, "Au3 File(*.au3)")
If @error Then Exit
$SoureCode = FileRead($file)
$NeedChange = StringRegExp($SoureCode, "(['"&'"])([^\1]*?)\1', 4)

For $i=0 to UBound($NeedChange)-1
        $temp=$NeedChange[$i]
        If StringRegExp($temp[UBound($temp)-1],'[\x{4e00}-\x{9fa5}]',0) Then
                $Bin=StringToBinary($temp[UBound($temp)-1])
                $SoureCode=StringReplace($SoureCode,$temp[0],"BinaryToString('" & $Bin & "')", 1, 1)
        EndIf
Next

;~ For $i = 0 To UBound($NeedChange) - 1
;~         $Bin = StringToBinary(StringRegExpReplace($NeedChange[$i], '^["' & "'](.*?[\x{4e00}-\x{9fa5}]+.*?)[" & '"' & "']$", "$1"))
;~         $SoureCode = StringReplace($SoureCode, $NeedChange[$i], "BinaryToString('" & $Bin & "')", 1, 1)
;~ Next
;~  
Local $var = FileSaveDialog("另存为.", @ScriptDir, "AU3脚本 (*.au3)", 2)
If Not @error Then
        If Not StringRegExp($var, '.+\.au3$', 0) Then $var = $var & ".au3"
        $fileopen = FileOpen($var, 2)
        FileWrite($fileopen, $SoureCode)
EndIf

评分

参与人数 1金钱 +11 贡献 +2 收起 理由
user3000 + 11 + 2 看球好呀!

查看全部评分

发表于 2012-6-13 23:50:33 | 显示全部楼层
回复 18# 3mile


    谢谢大师,比之前要好,不过A版也写了个该工具,不报啥错的,力荐,再次感谢您!辛苦了
http://www.autoitx.com/thread-32868-1-1.html
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-19 01:51 , Processed in 0.065394 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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