C# 将字节数组转换为字符串

Minahil Noor 2024年2月16日
  1. 使用 C# 中的 Encoding.GetString() 方法将字节数组转换为字符串
  2. C# 使用 MemoryStream 方法将字节数组转换为字符串
C# 将字节数组转换为字符串

字节数组是字节数组。在 C# 中,字节数组用于仅存储 0-255 之间的正值。数组中的每个元素的存储空间均为 1 个字节(8 位)。

在 C# 中,可以像处理普通的数组一样处理字节数组。有趣的是,字节数组可以转换为等效的字符串。字符串可以转换为不同的编码值,然后存储在字节数组中。

在本文中,我们将探讨将字节数组转换为字符串的不同方法。

使用 C# 中的 Encoding.GetString() 方法将字节数组转换为字符串

Encoding.GetString() 方法将字节数组的所有字节转换为字符串。此方法属于 Encoding 类。此类具有不同的编码方案,例如 Unicode,UTF8,ASCII,UTF32 等。

此方法的正确语法如下:

Encoding.Default.GetString(ByteArrayName);

这里使用了 Encoding.Default.GetString(),它将把字节数组的字节转换成默认的字符串类型。它将使用默认的编码方案。

示例代码:

using System;
using System.Text;

namespace Example {
  class Conversion {
    static void Main(string[] args) {
      byte[] ByteArray = {
        84, 104, 105, 115, 32, 105, 115, 32, 101, 120, 97, 109, 112, 108, 101,
      };
      Console.WriteLine("The Byte Array is: " + String.Join(" ", ByteArray));
      string String = Encoding.Default.GetString(ByteArray);
      Console.WriteLine("The String is: " + String);
    }
  }
}

输出:

The Byte Array is: 84 104 105 115 32 105 115 32 101 120 97 109 112 108 101
The String is: This is example

C# 使用 MemoryStream 方法将字节数组转换为字符串

在 C# 中,MemoryStream 类用于创建数据流。此类属于 System.IO 命名空间。它可以用于将字节数组转换为字符串。

此方法的正确语法如下:

using (MemoryStream Stream = new MemoryStream(ByteArrayName)) {
  using (StreamReader streamReader = new StreamReader(Stream)) {
    return streamReader.ReadToEnd();
  }
}

在这里,我们创建了一个 MemoryStream,其中包含特定字节数组的字节。然后,我们使用了 StreamReader 来从 MemoryStream 读取所有字节,并将流作为字符串返回。

我们创建了一个名为 BytesToStringConversion() 的自定义方法,该方法接受一个字节数组作为参数,然后返回一个字符串。

示例代码:

using System;
using System.Text;
using System.IO;

namespace Example {
  class Conversion {
    static string BytesToStringConversion(byte[] bytes) {
      using (MemoryStream Stream = new MemoryStream(bytes)) {
        using (StreamReader streamReader = new StreamReader(Stream)) {
          return streamReader.ReadToEnd();
        }
      }
    }
    static void Main(string[] args) {
      byte[] ByteArray = {
        84, 104, 105, 115, 32, 105, 115, 32, 101, 120, 97, 109, 112, 108, 101,
      };
      Console.WriteLine("The Byte Array is: " + String.Join(" ", ByteArray));

      string str = BytesToStringConversion(ByteArray);
      Console.WriteLine("The String is: " + str);
    }
  }
}

输出:

The Byte Array is: 84 104 105 115 32 105 115 32 101 120 97 109 112 108 101
The String is: This is example

相关文章 - Csharp Byte Array

相关文章 - Csharp String