Binär Daten aus String in Byte umwandel

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Mad Andy.

    Binär Daten aus String in Byte umwandel

    Hallo,
    ich habe ein Problem.
    Ich haben einen String der Binäre Daten enthält (7 Bit)
    z.b 1010001
    Diesen String möchte ich als ASCII Zeichen interpretieren.
    Dazu sollten die einzelenn Daten in ein Byte geschrieben werden um danach mit z.b GetByte umgewandelt zu werden.
    Weis jemand wie man diesen String in ein Byte umwandelt ? (nicht in ein Byte Array) oder einen anderen Lösungsvorschlag ?
    Hi!

    Sag, wenn ich dich nicht richtig verstehe...
    Du hast nen String, ein dem (als ASCII-Zeichen) eine Folge von 0en und 1en drin stehen und willst diese in Bit umwandeln und in 1 Byte schreiben?

    Das erreichst du am Besten mit der Wertigkeit in einem Array und einer Schleife, die jedes Zeichen durchläuft. Beachte auch, dass Bytes in VB unsigned sind und somit brauchst du dich nicht mit nem Vorzeichen "rumstreiten".

    VB.NET-Quellcode

    1. Dim bPow2(7) as Byte
    2. Private Sub Form_Load (...)
    3. For i as Long = 0 to 7
    4. bPow2(i) = cByte(math.Pow(2, i))
    5. Next i
    6. End Sub
    7. Private Sub Button1_Click (...)
    8. Dim b as Byte = 0
    9. Dim s as String = Textbox1.Text
    10. For i as Long = s.Length-1 to 0 Step -1
    11. if s.Substring(i, 1) = "1" then
    12. b += bPow2(s.Length-(i+1))
    13. End if
    14. If i = s.Length-8 then exit for
    15. Next i
    16. Messagebox.Show cStr(b)
    17. End Sub



    mfG Andy

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Mad Andy“ ()