suifeng123 发表于 2010-8-4 19:19:00

_HexToString有bug,不能用

_HexToString有bug,不能用。不知道为什么。请高手修改一下String.au3
应该是一个bug。。。

hlzxcjx 发表于 2010-8-4 20:27:39

新版本还有这东西?好像早就去除了!

suifeng123 发表于 2010-8-4 21:00:48

不会吧我感觉还有就是不起作用。

xsjtxy 发表于 2010-8-4 21:45:51

无图无真象

水木子 发表于 2010-8-4 21:50:38

你的Au3是什么版本?这个函数我用过,没问题!

suifeng123 发表于 2010-8-4 22:03:32

我的是最新版本啊

hlzxcjx 发表于 2010-8-4 22:16:53

回复 6# suifeng123

au3_3.2.12.1版本之后都已去除十六进制了,而且去除了Ansi。

suifeng123 发表于 2010-8-4 22:21:45

本帖最后由 suifeng123 于 2010-8-4 22:24 编辑

#include <string.au3>
$String = "223"
$Hex = Hex($String, 2)
MsgBox(0, "Hex", "String: " & $String & @LF & " Hex: " & $Hex)

$Hex = "DF"
$String = _HexToString($Hex)
MsgBox(0, "Hex", "Hex: " & $Hex & @LF & " String: " & $String)

suifeng123 发表于 2010-8-4 23:20:18

有什么办法可以实现互转吗? 我有个程序要用到。。希望高手给个指点。。在此表示感谢。。。

xsjtxy 发表于 2010-8-4 23:22:12


#include <string.au3>
$String = "223"
$Hex = Hex($String, 2)
MsgBox(0, "Hex", "String: " & $String & @LF & " Hex: " & $Hex)

$String = Dec($Hex)
MsgBox(0, "Hex", "Hex: " & $Hex & @LF & " String: " & $String)

hlzxcjx 发表于 2010-8-4 23:29:07

用Binary( )吧.

3mile 发表于 2010-8-5 13:44:11

本帖最后由 3mile 于 2010-8-5 13:46 编辑

很久以前做的进制转换,不知道有用吗?$iNumber = InputBox("", "")
$time=TimerInit()

$hex=_DecToHex($iNumber)
MsgBox(0,"十进制转十六进制",$hex)
MsgBox(0,"十六进制转十进制",_hexToDec($hex))
$bin=_dectobin($iNumber)
MsgBox(0,"十进制转二进制",$bin)
MsgBox(0,"二进制转十进制",_BinToDec($bin))


Func _DecToBin($iNumber)
    Local $sOut
    For $i = 31 To 0 Step -1
      $sOut &= BitAND(BitShift($iNumber, $i), 1)
    Next
    Return $sOut
EndFunc   ;==>Ten2Bin




Func _DecToHex(ByRef $iNumber)
      If NOT StringRegExp($iNumber, "^\d+$") Then Return SetError(1, 0, "")
      If $iNumber > 2147483648 Then Return SetError(1, 0, "")
                        $iNumber=StringFormat('0x%08X',Binary(Execute($iNumber)))
                Return $iNumber
EndFunc
       
Func _HexToDec(ByRef $iNumber)
        If Not StringInStr($iNumber,"0x") Then
                $iNumber=Execute("0x"&$iNumber)               
        Else
                $iNumber=Execute($iNumber)
        EndIf
        Return $iNumber
EndFunc



Func _BinToDec(ByRef $iNumber)
        Dim $number
                If NOT StringRegExp($iNumber, "^{1,}$") Then Return SetError(1, 0, "")
                For $i=0 To StringLen($iNumber)-1
                        $number+=StringMid($iNumber,StringLen($iNumber)-$i,1)*(2^$i)
                Next
                $iNumber=$number
                Return $iNumber
EndFunc

menfan1 发表于 2010-8-5 14:07:23

加密解密用到吧,呵呵

suifeng123 发表于 2010-8-5 14:58:41

本帖最后由 suifeng123 于 2010-8-5 15:00 编辑

谢谢朋友们。。。受益菲浅。。。这里真好。。。祝你们永远开心。。。
页: [1]
查看完整版本: _HexToString有bug,不能用