在 C# 中將字串轉換為等效的位元組陣列
字串操作是 C# 程式設計中的一項常見任務。在某些情況下,您可能需要將字串轉換為其等效的位元組陣列,例如在處理加密、檔案 I/O 或網路通訊時。本文將引導您完成在 C# 中將字串轉換為位元組陣列的過程,說明 C# 在處理各種資料型別方面的強大功能和靈活性。
瞭解 C# 中的字串和位元組陣列
在深入轉換過程之前,讓我們瞭解一下 C# 中的字串和位元組陣列是什麼。在 C# 中,字串是字元序列,而位元組陣列 (byte[]) 是一個儲存位元組的陣列——計算機可以處理的原始資料。
以下是在 C# 中字串和位元組陣列的示例:
string text = "Hello"; byte[] byteArray = { 72, 101, 108, 108, 111 };
在此示例中,text 是一個包含“Hello”的字串,而 byteArray 是一個包含“Hello”中字元的 ASCII 值的位元組陣列。
將字串轉換為位元組陣列
要將字串轉換為 C# 中的位元組陣列,我們可以使用 Encoding 類的 GetBytes 方法。此方法將指定字串中的所有字元編碼為位元組序列。
示例
以下是一個示例:
using System; class Program { static void Main() { string text = "Hello"; byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(text); foreach (byte b in byteArray) { Console.WriteLine(b); } } }
在此示例中,我們首先定義一個值為“Hello”的字串 text。然後,我們呼叫 Encoding.UTF8 例項上的 GetBytes 方法將 text 轉換為位元組陣列。結果分配給 byteArray。然後,我們將 byteArray 中的每個位元組列印到控制檯。
輸出
72101 108 108 111
重要注意事項
將字串轉換為位元組陣列時,請記住結果取決於使用的編碼。在上面的示例中,我們使用了 UTF8 編碼,但也可以使用其他編碼,例如 ASCII 或 Unicode。對於相同的字串,不同的編碼可能會導致不同的位元組陣列,因此始終確保您正在為您的特定用例使用正確的編碼。
結論
由於 Encoding 類的 GetBytes 方法,在 C# 中將字串轉換為位元組陣列是一項簡單而直接的任務。這種轉換是在各種程式設計場景(包括加密、檔案處理和網路通訊)中必不可少的操作。