C# 中字串與位元組數組的轉換
在將程式碼從 VB 遷移到 C# 時,字串與位元組陣列轉換可能會出現問題。當處理傳回物件的屬性而不是位元組數組時,尤其如此。
請考慮以下有問題的程式碼:
<code class="language-csharp">if ((searchResult.Properties["user"].Count > 0)) { profile.User = System.Text.Encoding.UTF8.GetString(searchResult.Properties["user"][0]); }</code>
此程式碼中遇到的錯誤源自於屬性值將是位元組陣列的預期,但實際上它是一個物件。為了解決這個問題,請務必了解最初用於將字串轉換為位元組數組的編碼方式。
如果位元組數組是使用 ASCII 編碼建立的,則應使用以下方法將其轉換回字串:
<code class="language-csharp">string someString = Encoding.ASCII.GetString(bytes);</code>
同樣,如果使用了 UTF8 編碼,則將位元組數組轉換為字串的適當方法是:
<code class="language-csharp">string someString = Encoding.UTF8.GetString(bytes);</code>
透過識別用於建立位元組數組的編碼,您可以確保字串轉換正確執行。
以上是如何在 C# 中正確地將字串轉換為位元組數組,反之亦然?的詳細內容。更多資訊請關注PHP中文網其他相關文章!