Binärdaten konvertieren

  • VB.NET

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

    Binärdaten konvertieren

    Hallo Com,

    Das Problem ist ein wenig komplexer:

    Ich habe ein Bytearray Bin(65535) As Byte
    und möchte die Bytes nun aber beliebig "fusionieren" und in andere Typen packen
    Beispielsweise die Bytes Bin(0) bis Bin(3) in einen Integer Packen, sodass der Integer halt genau den Wert hat.
    Das soll aber auch mit anderen Typen gehen und unabhängig sein.
    Wie kann ich nun eine Funktion schreiben, die die Binärdaten von angegebenen "Addressen"(Index) zusammenklatscht (konsekutive) und als Object ausspuckt, dass dann z.B.
    bei 0..2:
    &H202020 ausgibt, wenn Bin(0) = 20, Bin(1) = 20 etc.
    und wenn das Object als String gehandelt wird, " "(3 Leerzeichen) erkannt werden?

    Danke im Voraus

    FAtheone schrieb:

    Das Problem ist ein wenig komplexer:

    Nö, trivial ;)

    VB.NET-Quellcode

    1. Dim ms As New System.IO.MemoryStream(10)
    2. Dim bw As New System.IO.BinaryWriter(ms)
    3. Dim br As New System.IO.BinaryReader(ms)
    4. Dim b As Byte = 32
    5. bw.Write(b)
    6. bw.Write(b)
    7. bw.Write(b)
    8. bw.Write(b)
    9. ' Die 4 bytes als Int32 lesen
    10. bw.BaseStream.Seek(0, IO.SeekOrigin.Begin)
    11. Dim i As Integer
    12. i = br.ReadInt32
    13. ' und jetzt dieselben 4 bytes asl string
    14. bw.BaseStream.Seek(0, IO.SeekOrigin.Begin)
    15. Dim s As String
    16. s = br.ReadChars(4)
    Cool :thumbup:
    Danke!
    Ich dachte, es könnte Probleme a lá String hat nicht nur die Chars() sonder noch was anderes.
    Funzt das auch, wenn ich sage
    Object = br.ReadBLABLA,
    Dass Object dann sowohl ein gültiger Int32 als auch ein gültiger String ist?