找回密码
 加入
搜索
查看: 4316|回复: 13

[AU3基础] _HexToString有bug,不能用

 火.. [复制链接]
发表于 2010-8-4 19:19:00 | 显示全部楼层 |阅读模式
_HexToString有bug,不能用。不知道为什么。请高手修改一下String.au3
应该是一个bug。。。
发表于 2010-8-4 20:27:39 | 显示全部楼层
新版本还有这东西?好像早就去除了!
 楼主| 发表于 2010-8-4 21:00:48 | 显示全部楼层
不会吧  我感觉还有  就是不起作用。
发表于 2010-8-4 21:45:51 | 显示全部楼层
无图无真象
发表于 2010-8-4 21:50:38 | 显示全部楼层
你的Au3是什么版本?这个函数我用过,没问题!
 楼主| 发表于 2010-8-4 22:03:32 | 显示全部楼层
我的是最新版本啊
发表于 2010-8-4 22:16:53 | 显示全部楼层
回复 6# suifeng123

au3_3.2.12.1版本之后都已去除十六进制了,而且去除了Ansi。
 楼主| 发表于 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)
 楼主| 发表于 2010-8-4 23:20:18 | 显示全部楼层
有什么办法可以实现互转吗? 我有个程序要用到。。希望高手给个指点。。在此表示感谢。。。
发表于 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)
发表于 2010-8-4 23:29:07 | 显示全部楼层
用Binary( )吧.
发表于 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, "^[01]{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
发表于 2010-8-5 14:07:23 | 显示全部楼层
加密解密用到吧,呵呵
 楼主| 发表于 2010-8-5 14:58:41 | 显示全部楼层
本帖最后由 suifeng123 于 2010-8-5 15:00 编辑

谢谢朋友们  。。。受益菲浅。。。这里真好  。。。祝你们永远开心。。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-2 19:41 , Processed in 0.081138 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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