Da die Binary-Funktion von Autoit Hexadezimalstrings zurückgibt, habe ich Funktionen für Binärstrings und Zahlenerstellt (Ich gaube das hatte Autoit nich nicht)
Villeicht kann es jemand gebrauchen
Funktionen:
Spoiler anzeigen
Func _Binary($str,$leerzeichen=True)
Local $erg=""
For $x=1 to StringLen($str)
$erg&=decbin(Asc(StringMid($str,$x,1)),8)
If $leerzeichen=1 Or $leerzeichen=True Then $erg&=" "
Next
Return $erg
EndFunc
Func _BinaryToString($str,$leerzeichen=-1)
If $leerzeichen=-1 Then
if StringInStr($str," ") Then
$leerzeichen=1
Else
$leerzeichen=0
EndIf
EndIf
Local $erg=""
if $leerzeichen=1 Then
If StringRight($str,1)=" " Then $str=StringTrimRight($str,1)
Local $split=StringSplit($str," ")
Local $stueck
For $x=1 to $split[0]
$stueck=$split[$x]
If StringLen($stueck)<8 Or StringLen($stueck)>8 Then Return SetError(1,1,-1)
$erg&=Chr(bindec($stueck))
Next
Else
If Mod(StringLen($str),8)<>0 Then Return SetError(1,2,-1)
Local $split[StringLen($str)/8]
For $x=0 To UBound($split)-1
$split[$x]=StringMid($str,($x*8)+1,8)
Next
For $stueck In $split
$erg&=Chr(bindec($stueck))
Next
EndIf
Return $erg
EndFunc
Func decbin($str,$len=0)
$str=Int($str)
If $len<0 Then Return -1
If $str=0 Then Return 0
Local $erg=""
Local $tmpbin=""
Local $start=1
While $start<$str
$start*=2
WEnd
While 1
If $start<1 Then Return SetError(1,1,-2)
If $str>=$start Then
$tmpbin&="1"
$str-=$start
Else
$tmpbin&="0"
EndIf
If $str<=0 Then ExitLoop
$start/=2
WEnd
While $start>1
$tmpbin&="0"
$start/=2
WEnd
While StringLeft($tmpbin,1)="0"
$tmpbin=StringMid($tmpbin,2)
WEnd
If $len<>0 Then
If $len>StringLen($tmpbin) Then
$tmpbin=umdrehen($tmpbin)
For $x=StringLen($tmpbin)+1 To $len
$tmpbin&="0"
Next
$tmpbin=umdrehen($tmpbin)
ElseIf $len<StringLen($tmpbin) Then
$tmpbin=umdrehen($tmpbin)
$tmpbin=StringMid($tmpbin,1,$len)
$tmpbin=umdrehen($tmpbin)
EndIf
EndIf
$erg=$tmpbin
Return $erg
EndFunc
Func bindec($str)
Local $erg=0
Local $tmp=1
$str=umdrehen($str)
For $x=1 To StringLen($str)
If StringMid($str,$x,1)="1" Then $erg+=$tmp
$tmp*=2
Next
Return $erg
EndFunc
Func umdrehen($str)
Local $erg=""
For $x=StringLen($str) To 1 Step -1
$erg&=StringMid($str,$x,1)
Next
Return $erg
EndFunc
Minibeispiel:
[autoit]
$str=_Binary("Hallo")
MsgBox(0,"",$str)
$str=_BinaryToString($str)
MsgBox(0,"",$str)