Heim >Backend-Entwicklung >C++ >Wie kann ich Strings in .NET in .NET in Byte -Arrays konvertieren, ohne zu codieren?

Wie kann ich Strings in .NET in .NET in Byte -Arrays konvertieren, ohne zu codieren?

Barbara Streisand
Barbara StreisandOriginal
2025-02-01 05:21:09565Durchsuche

How Can I Convert Strings to Byte Arrays in .NET without Encoding?

Direkte String-zu-Byte-Array-Konvertierung in .NET

häufig müssen .NET -Entwickler Strings in Byte -Arrays umwandeln. Die Standard-UTF-16-Codierung in .NET kann beim Umgang mit Zeichenfolgen mit verschiedenen Zeichenkodierungen problematisch sein. In diesem Artikel wird eine Methode vorgestellt, um die Roh -Byte -Darstellung einer Zeichenfolge ohne explizite Codierung zu erhalten.

Byte -Darstellung ohne Codierung

Diese Technik kopiert die Zeichendaten der Zeichenfolge direkt in ein Byte -Array, wobei die Charaktercodierung umgeht:

<code class="language-csharp">static byte[] GetBytes(string str)
{
    byte[] bytes = new byte[str.Length * sizeof(char)];
    System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
    return bytes;
}</code>

Da .NET-Zeichen 16-Bit-Unicode sind, ist die Größe des Byte-Arrays str.Length * sizeof(char) (Zeichenanzahl multipliziert mit 2 Bytes pro Zeichen).

String -Rekonstruktion aus Bytes

Um die ursprüngliche Zeichenfolge nachzubilden:

<code class="language-csharp">static string GetString(byte[] bytes)
{
    char[] chars = new char[bytes.Length / sizeof(char)];
    System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
    return new string(chars);
}</code>

Dies spiegelt den Konvertierungsprozess wider, kopiert Bytes zurück in ein Zeichen -Array und erstellt eine Zeichenfolge.

Vorteile dieser Methode

Dieser Ansatz bietet mehrere wichtige Vorteile:

  • codieren agnostisch: Keine Notwendigkeit, eine Codierung anzugeben; Bytes repräsentieren direkt Unicode -Zeichen.
  • robuste Fehlerbehandlung: behandelt ungültige Zeichen ohne Fehler; Bytes werden als Rohdaten behandelt.
  • Intra-Systemeffizienz: ideal für die gleiche Systemkommunikation, maximieren Effizienz und Verhinderung von Codierungsdiskrepanzen.

Das obige ist der detaillierte Inhalt vonWie kann ich Strings in .NET in .NET in Byte -Arrays konvertieren, ohne zu codieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn