找回密码
 加入
搜索
查看: 2181|回复: 4

[AU3基础] [已解决]求助如何将文本每一行字符倒序输出并base64解码

[复制链接]
发表于 2012-5-4 14:26:23 | 显示全部楼层 |阅读模式
本帖最后由 user11 于 2012-5-4 15:13 编辑

最近使用了一个软件,他有个配置文件,,打开乱码感觉就是BASE64编码的,于是手工找个短的行,倒过来解码,果然是base64,求助帮忙如何将一行的每个字符倒过来写!!找个半天也没有搜到!这个问题好像不难,但是有点特别。。。

比如第一行 =ATP5V2S09GS,,倒过来应该是 SG90S2V5PTA=


BASE64解码出来HotKey=0
=ATP5V2S09GS


=0TZtFmT5V2S09GS
发表于 2012-5-4 14:44:21 | 显示全部楼层
本帖最后由 shqf 于 2012-5-4 14:46 编辑

字符串倒过来功能代码如下:
#include <array.au3>
Local $Var = "ATP5V2S09GS"
Local $Array = StringRegExp($Var, "\w", 3)
_ArrayReverse($Array)
$nVar = _ArrayToString($Array,"")
MsgBox(0, "", "原字符串=" & $Var & @LF & "新字符串=" & $nVar)
发表于 2012-5-4 14:52:01 | 显示全部楼层
#Include <String.au3>
_StringReverse
 楼主| 发表于 2012-5-4 15:13:06 | 显示全部楼层
非常感谢 楼上两位 解决了。。。谢谢!
发表于 2012-5-4 15:25:39 | 显示全部楼层

#include <File.au3>
#include <String.au3>
#include <ACN_HASH.au3>

Dim $aRecords
If Not _FileReadToArray(@ScriptDir & "\test.txt", $aRecords) Then
        MsgBox(4096,"Error", " Error reading log to Array     error:" & @error)
        Exit
EndIf
Local $str = ""
Local $hexstr
Local $i
For $i = 1 to $aRecords[0]
        $aRecords[$i] = _StringReverse($aRecords[$i])
        If StringLen($aRecords[$i])>0 Then
                $hexstr = _Base64Decode($aRecords[$i])    ;;;解码出0x开头的十六进制字符串
                $hexstr = StringMid($hexstr, 3)    ;;;去掉开头的0x
                $str &= _HexToString($hexstr) & @CRLF    ;;;十六进制字符串转字符串
        EndIf
Next
MsgBox(0, "", $str)

您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-18 11:10 , Processed in 0.093799 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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