Feedback

String in Byte Array und zurück wandeln

Sprache: VB

Hier die VB-Version von Jan Welker`s C# Snippet. !DANKE! für die Inspiration ;) Will man ein Bytearray (reine Daten) in einem String Speichern, benötigt man die ersten 2 Funktionen. Soll es allerdings ein Text sein, benötigt man die zweiten 2 Funktionen (klingt lustig oder?;) Das Problem besteht darin, dass z.B. Bei Daten auch eine 0 in einem Bytearray auftauchen kann. 0 ist aber KEIN Druckbares oder sonst welches Zeichen. Der 2. Abschnitt funktioniert deshalb NICHT zuverlässig mit Daten, sondern nur mit Text. Zitat Jan Welker: Zwei Methoden mit denen man einen String in ein Byte Array und ein Bytearray in einen String wandeln kann.
'------------------Daten(Bytearray) in String und zurück-------------------
    Public Function StringToByteArray(ByRef str As String) As Byte()
        Return Convert.FromBase64String(str)
    End Function

    Public Function ByteArrayToString(ByRef Barr() As Byte) As String
        Return Convert.ToBase64String(Barr)
    End Function

'------------------Text in Bytearray und zurück-------------------
    Public Function TextStringToByteArray(ByRef str As String) As Byte()
        Dim enc As System.Text.Encoding = System.Text.Encoding.Default

        Return enc.GetBytes(str)
    End Function

    Public Function ByteArrayToTextString(ByRef Barr() As Byte) As String
        Dim enc As System.Text.Encoding = System.Text.Encoding.Default

        Return enc.GetString(Barr)
    End Function
'------------------Daten(Bytearray) in String und zurück-------------------
    Public Function StringToByteArray(ByRef str As String) As Byte()
        Return Convert.FromBase64String(str)
    End Function

    Public Function ByteArrayToString(ByRef Barr() As Byte) As String
        Return Convert.ToBase64String(Barr)
    End Function

'------------------Text in Bytearray und zurück-------------------
    Public Function TextStringToByteArray(ByRef str As String) As Byte()
        Dim enc As System.Text.Encoding = System.Text.Encoding.Default

        Return enc.GetBytes(str)
    End Function

    Public Function ByteArrayToTextString(ByRef Barr() As Byte) As String
        Dim enc As System.Text.Encoding = System.Text.Encoding.Default

        Return enc.GetString(Barr)
    End Function