Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya boleh mendapatkan perwakilan byte mentah rentetan dalam C# tanpa pengekodan?

Bagaimanakah saya boleh mendapatkan perwakilan byte mentah rentetan dalam C# tanpa pengekodan?

DDD
DDDasal
2025-02-01 05:11:091007semak imbas

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

kod dan bait rentetan dalam c#menunjukkan

Apabila memproses rentetan dalam C#, kod watak mesti dipertimbangkan, terutamanya apabila menukar rentetan ke array byte. Pengekodan membolehkan rentetan diwakili oleh set aksara yang berbeza, seperti Unicode UTF-8 atau ASCII.

Walau bagaimanapun, jika tujuan anda adalah untuk mendapatkan bait asas rentetan tanpa penjelasan, terdapat penyelesaian yang mudah:

Kaedah ini dianggap sebagai urutan bait tanpa sebarang pertimbangan pengekodan. Ia membolehkan anda mengambil dan membina semula rentetan dari baitnya, tanpa bergantung pada kod tertentu.
<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;
}

// 仅限于在同一系统上GetByte方法的输出上使用,不要在任意字节上使用
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>

Harus diingat bahawa kaedah ini hanya digunakan untuk senario yang tidak memerlukan tafsiran byte. Cuba mentafsirkan bait ini sebagai kod yang berbeza boleh menyebabkan kesilapan atau kerosakan data.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mendapatkan perwakilan byte mentah rentetan dalam C# tanpa pengekodan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn