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
Kommentare zum Snippet