Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya boleh mendapatkan perwakilan byte mentah dari rentetan C# tanpa menentukan pengekodan?
Berbeza dengan cadangan tradisional, jika bait tidak diperlukan, anda boleh mendapatkan perwakilan bait rentetan dalam C# tanpa kod yang ditetapkan. Kaedah ini memudahkan proses dan memastikan konsistensi perwakilan byte.
Atas sebab ini, anda boleh menggunakan
, seperti yang ditunjukkan di bawah: 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>Fungsi ini mengembalikan array byte yang tepat mewakili bait yang digunakan untuk menyimpan rentetan pada sistem. Untuk mengambil rentetan asal dari byte, anda boleh menggunakan fungsi berikut:
<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>Kaedah ini lebih baik daripada penggunaan kod tertentu, kerana:
Atas ialah kandungan terperinci Bagaimanakah saya boleh mendapatkan perwakilan byte mentah dari rentetan C# tanpa menentukan pengekodan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!