在 C# 中獲取字符串的字節表示(無需編碼)
本文介紹如何在不指定編碼的情況下將 C# 字符串轉換為字節數組。此方法避免了字符編碼相關的複雜性。
編碼 主要在您希望將字節數組解釋為字符串時發揮作用。不同的編碼將相同的字節解釋為不同的字符。通過指定編碼,您可以指示系統根據指定的編碼解碼字節,從而產生特定的字符序列。
但是,如果您只想逐字存儲字符串的字節,而不依賴於字符解釋,則可以簡單地將字符串字符數組的位複製到字節數組中。這可以通過以下代碼實現:
<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>
要將字節數組轉換回字符串,請使用:
<code class="language-csharp">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>
此方法確保精確保留原始字符串的字節,而無需依賴編碼。只要字節的目標上下文不需要字符解釋,此方法就提供了一種可靠且便捷的替代編碼方法。
以上是如何在不編碼的情況下在C#中獲取字符串的字節表示?的詳細內容。更多資訊請關注PHP中文網其他相關文章!