Heim >Backend-Entwicklung >C++ >Wie kann ich die RAW -Byte -Darstellung einer C# -Zeichenfolge erhalten, ohne Codierung anzugeben?

Wie kann ich die RAW -Byte -Darstellung einer C# -Zeichenfolge erhalten, ohne Codierung anzugeben?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-02-01 05:26:08619Durchsuche

How Can I Get the Raw Byte Representation of a C# String Without Specifying Encoding?

Holen Sie sich die ursprüngliche Byte -Darstellung der Zeichenfolge in C# (keine angegebene Codierung)

Bei der Verarbeitung der Zeichenfolge in C#ist es sehr wichtig, dass die Charaktercodierung für ihren Einfluss auf seine Bytes sehr wichtig ist. Wenn das Ziel jedoch nur darin besteht, das ursprüngliche Byte ohne Erklärung zu erhalten, gibt es eine alternative Methode, um explizit angegebene Codes zu vermeiden.

Im Gegensatz zu dem traditionellen Vorschlag können Sie die Byte -Darstellung der Zeichenfolge in C# ohne benannte Codes erhalten, wenn das Byte nicht erforderlich ist. Diese Methode vereinfacht den Prozess und sorgt für die Konsistenz der Byte -Darstellung.

Aus diesem Grund können Sie

wie unten gezeigt verwenden: System.Buffer.BlockCopy

<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>
Diese Funktion gibt ein Byte -Array zurück, das Bytes genau darstellt, die zum Speichern von Zeichenfolge auf dem System verwendet werden. Um die ursprüngliche Zeichenfolge aus dem Byte abzurufen, können Sie die folgenden Funktionen verwenden:

<code class="language-csharp">// 请勿对任意字节使用此函数;仅对相同系统上的 GetBytes 输出使用
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>
Diese Methode ist besser als die Verwendung bestimmter Codes, weil:

    es sorgt konsistente Bytes, ohne sich um die Charaktercodierungsschemata zu sorgen.
  • Ermöglicht die Verarbeitung ungültiger Zeichen ohne Probleme beim Codieren/Decodieren.

Das obige ist der detaillierte Inhalt vonWie kann ich die RAW -Byte -Darstellung einer C# -Zeichenfolge erhalten, ohne Codierung anzugeben?. 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