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

Minahil Noor 2023年1月30日 2020年6月9日
  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