Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Menukar Rentetan dengan Betul kepada Tatasusunan Byte dan Sebaliknya dalam C#?
Penukaran tatasusunan rentetan dan bait dalam C#
Penukaran tatasusunan rentetan kepada bait boleh menyebabkan masalah apabila memindahkan kod daripada VB ke C#. Ini benar terutamanya apabila berurusan dengan sifat objek yang dikembalikan dan bukannya tatasusunan bait.
Pertimbangkan kod bermasalah berikut:
<code class="language-csharp">if ((searchResult.Properties["user"].Count > 0)) { profile.User = System.Text.Encoding.UTF8.GetString(searchResult.Properties["user"][0]); }</code>
Ralat yang dihadapi dalam kod ini berpunca daripada jangkaan bahawa nilai sifat akan menjadi tatasusunan bait, sedangkan ia sebenarnya adalah objek. Untuk menyelesaikan masalah ini, adalah penting untuk memahami pengekodan yang digunakan untuk menukar rentetan kepada tatasusunan bait di tempat pertama.
Jika tatasusunan bait dicipta menggunakan pengekodan ASCII, ia hendaklah ditukar kembali kepada rentetan menggunakan:
<code class="language-csharp">string someString = Encoding.ASCII.GetString(bytes);</code>
Begitu juga, jika pengekodan UTF8 digunakan, cara yang sesuai untuk menukar tatasusunan bait kepada rentetan ialah:
<code class="language-csharp">string someString = Encoding.UTF8.GetString(bytes);</code>
Dengan mengenal pasti pengekodan yang digunakan untuk mencipta tatasusunan bait, anda boleh memastikan penukaran rentetan dilakukan dengan betul.
Atas ialah kandungan terperinci Bagaimanakah Saya Menukar Rentetan dengan Betul kepada Tatasusunan Byte dan Sebaliknya dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!