>直接字符串到字節陣列轉換。 經常,.NET開發人員需要將字符串轉換為字節數組。 使用不同字符編碼處理字符串時,在.NET中編碼的默認UTF-16可能會出現問題。 本文提出了一種獲得字符串的原始字節表示的方法,而無需明確編碼。
字節表示,而無需編碼
> 此技術將字符串的字符數據直接複製到字節數組中,繞過字符編碼:
因為.net字符是16位unicode,所以字節數組的大小為
(字符計數乘以每個字符的2個字節)。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; }
>字符串重建來自字節str.Length * sizeof(char)
重新創建原始字符串:
這反映了轉換過程,將字節複製回一個字符數組並創建一個字符串。>
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); }
這種方法提供了幾個關鍵的好處:
編碼不可思議的:
以上是如何在不編碼的情況下將字符串轉換為.NET中的字節數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!