Konvertieren INTEGER in BYTE() und umgekehrt.

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Peter329.

    Konvertieren INTEGER in BYTE() und umgekehrt.

    Eine Integer Variable belegt 4 Bytes im Speicher.

    Ich möchte diese vier Bytes, so wie sie sind in einen Array vom Typ BYTE speichern.

    Und später möchte ich diese vier Bytes wieder in die orignäre INTEGER Variable zurück konvertieren.

    Das ist wohl nicht so alltäglich. Aber es sollte doch machbar sein.

    Kann mir jemand auf die Sprünge helfen?
    Schau dir mal die BitConverter-Klasse an:

    VB.NET-Quellcode

    1. Public Function ConvertIntToByteArray(ByVal int As Int32) As Byte()
    2. Return BitConverter.GetBytes(int)
    3. End Function


    Lässt sich mit allem machen, also Int16, Int32 und Int64.

    Zurück geht es dann so:

    VB.NET-Quellcode

    1. Public Function ConvertByteArrayToInt32(ByVal byteArray As Byte()) As Integer
    2. Return BitConverter.ToInt32(byteArray, 0)
    3. End Function
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Peter329 schrieb:

    machbar sein
    So:

    VB.NET-Quellcode

    1. Dim by() As Byte = {1, 255, 22, 200}
    2. Dim val As Integer = BitConverter.ToInt32(by, 0)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Wow ... das waren ja mal Antworten, die mir auf Anhieb weitergeholfen haben.

    Die Konvertierung von Integer nach Array ordnet die Bytes zwar nach ihrer Wertigkeit, also die "Einer" sind vorn, dann kommen die "Hunderter" usw., d.h. die Reihenfolge wird umgedreht.

    Das macht aber nix, weil die Konvertierung von Array nach Integer genau diese Reihenfolge erwartet.

    Und damit bin ich SUPER happy!

    Herzlichen Dank, ihr habt mir SEHR geholfen. Jetzt kenne ich auch die Klasse "Bitkonverter": :D