在 C# 中将字符串转换为其等效的字节数组

csharpserver side programmingprogramming

字符串操作是 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"。然后,我们在 Encoding.UTF8 实例上调用 GetBytes 方法将文本转换为字节数组。结果将分配给 byteArray。然后,我们将 byteArray 中的每个字节打印到控制台。

输出

72101
108
108
111

重要注意事项

将字符串转换为字节数组时,请记住结果取决于所使用的编码。在上面的示例中,我们使用了 UTF8 编码,但也可以使用其他编码,如 ASCII 或 Unicode。不同的编码会导致同一字符串产生不同的字节数组,因此请务必确保针对特定用例使用正确的编码。

结论

借助 Encoding 类的 GetBytes 方法,在 C# 中将字符串转换为字节数组是一项简单而直接的任务。此转换是各种编程场景中的一项基本操作,包括加密、文件处理和网络通信。


相关文章