在 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# 中将字符串转换为字节数组是一项简单而直接的任务。这种转换是在各种编程场景(包括加密、文件处理和网络通信)中必不可少的操作。

更新于:2023-07-24

2K+ 次查看

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告