user11 发表于 2012-5-4 14:26:23

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

本帖最后由 user11 于 2012-5-4 15:13 编辑

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

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


BASE64解码出来HotKey=0

=ATP5V2S09GS


=0TZtFmT5V2S09GS

shqf 发表于 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)

netegg 发表于 2012-5-4 14:52:01

#Include <String.au3>
_StringReverse

user11 发表于 2012-5-4 15:13:06

非常感谢 楼上两位 解决了。。。谢谢!

veket_linux 发表于 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
        $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)

页: [1]
查看完整版本: [已解决]求助如何将文本每一行字符倒序输出并base64解码