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
Freigeben: 2025-02-01 05:21:09
Original
523 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage