StringToBinary

  • Hey Leute,
    wenn ich die Funktion StringToBinary anwende, dann bekomme ich z.B so einen Code.
    0x078461 (Ob Buchstaben vorhanden sind weiß ich nicht mehr, gerade keine Zeit zu testen)
    Ist es auch möglich, dass ich so einen Code bekommen kann?

    01010110001110100000011110111

    Diese Art von Code nennt sich doch auch Binär Code oder?


    Mfg
    Benne

  • Sowas?:

    Spoiler anzeigen
    [autoit]

    MsgBox(0,"", _TranslateSystem("54485485856"))

    [/autoit] [autoit][/autoit] [autoit]

    ;===============================================================================
    ;
    ; Function Name: _TranslateSystem
    ; Description:: Wandelt eine Zahl zwischen verschiedenen Zahlensystemen um.
    ; Parameter(s): $zahl - Die Zahl zum Umwandeln
    ; $OldSystem - [Optional] Das alte System (Default: 10)
    ; $NewSystem - [Optional] Das neue System (Default: 2)
    ; Requirement(s):
    ; Return Value(s): Success: Number in new format and @extended set to SystemBase
    ; Error: -1.#NAN or -1.#IND
    ; @error set to:
    ; 1 - Zahl nicht richtig formatiert
    ; 2 - neues System nicht im darstellbaren Bereich
    ; 3 - altes System nicht im darstellbaren Bereich
    ; 4 - Zahl enthält Zeichen, die nicht im System vorkommen
    ; Author(s): Prog@ndy; sd (VB-Code)
    ; VB source used from http://www.vbarchiv.net/tipps/details.php?id=1590
    ;
    ;===============================================================================
    ;
    Func _TranslateSystem($zahl, $OldSystem=10, $NewSystem = 2)
    Local $out ;' Ausgabevariable
    Local $temp ;' Temporäre Variable
    $OldSystem = Int($OldSystem)
    $NewSystem = Int($NewSystem)
    Select
    Case Not StringRegExp($zahl,"\A[0-9a-zA-Z]+\Z")
    Return SetError(2,0,"-1.#NAN")
    Case $NewSystem < 2 Or $NewSystem > 62
    Return SetError(2,0,"-1.#IND")
    Case $OldSystem < 2 Or $OldSystem > 62
    Return SetError(3,0,"-1.#IND")
    EndSelect
    ;' Zeichen der Zahlensysteme ( bis Hexadezimalsystem )
    Local $chrsys = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

    If $OldSystem <> 10 Then
    Local $CaseSense = ($OldSystem > 36)
    Local $ziffern = StringSplit($zahl,""), $nummer
    $zahl = 0
    For $i = 1 To $ziffern[0]
    $nummer = StringInStr($chrsys,$ziffern[$i],$CaseSense,1)
    If $nummer > 0 Then $zahl += ($nummer-1)*($OldSystem^($ziffern[0]-$i))
    If $nummer > $OldSystem Then Return SetError(4,0,"1.#NAN")
    Next
    EndIf

    ;' Solange bis Zahl = 0
    While $zahl <> 0
    ;' Stelle der Zahl ermitteln
    $temp = Mod($zahl, $NewSystem )
    ;' Zahl anhängen
    $out = StringMid($chrsys, $temp + 1, 1) & $out
    ;' Integerdivision
    $zahl = Int($zahl / $NewSystem)
    Wend
    SetExtended($NewSystem)
    Return $out
    EndFunc

    [/autoit]