Sie sind hier: Startseite
 Liste aller Codebeispiele

Verwendung des BitConverters zur Umwandlung einer Zeichenkette in eine Byte-Folge

Ein Beispiel zum Einsatz der Klasse System.BitConverter aus der .NET-Klassenbibliothek.

Autor: Dr. Holger Schwichtenberg 

Beschreibung

Die direkte Umwandlung eines Strings in eine Byte-Folge ist nicht möglich, die Klasse BitConverter kann nur Char-Werte umwandeln. Daher muss ein String zunächst in ein Array of Char verwandelt werden und dieses dann elementweise in ein Array of Bytes.

Programmcodebeispiele Visual Basic .NET (VB.NET)

' ============================
' .NET-Code-Beispiel in Visual Basic .NET
' Verwendung des BitConverters zur Umwandlung eines Strings in eine Byte-Folge
' (C) Holger@Schwichtenberg.de
' ============================
Sub BITConverter2()
Dim BC As System.BitConverter
Dim s As String = "Essen-Byfang"
Dim chars() As Char
Dim c As Char
Dim bytes(), bytes2() As Byte
Dim b As Byte
Dim x As Integer
out("Ausgangswert: " & s)

' --- Umwandlung
chars = s.ToCharArray
ReDim Preserve bytes(s.Length * 2 - 1)

x = 0
For Each c In chars
bytes2 = BC.GetBytes(c)
bytes2.CopyTo(bytes, x)
x += 2
Next
' --- Ausgabe
out("Bytefolge: ")

For Each b In bytes
out(b)

Next

End Sub

Programmcodebeispiele CSharp (C#)

using System;
using System.Collections;

using FCL_Buch;

namespace FCLBuch.System {

public class Samples_Datentypen {
public void BITConverter2() {

// Verwendung des BitConverters zur Umwandlung eines Strings in eine Bytefolge
string s = "Essen-Byfang";

FclOutput.PrintOut("Ausgangswert: " + s);

// Umwandlung
char[] chars = s.ToCharArray();
byte[] bytes = new byte[(s.Length * 2) - 1];

int x = 0;
foreach (char c in chars) {
byte[] bytes2 = BitConverter.GetBytes(c);
bytes2.CopyTo(bytes, 0);
x += 2;
}
// Ausgabe
FclOutput.PrintOut("Byte-Folge: ");

foreach (byte b in bytes)
FclOutput.PrintOut(b.ToString());
}
}
}

Querverweise

 Definition '.NET Framework Class Library'  Verfügbarkeit der Klasse 'System.BitConverter'  Übersicht über den FCL-Namensraum 'System'  .NET & Visual Studio Community Portal