C# 将字节数组转换为字符串
Minahil Noor
2024年2月16日
字节数组是字节数组。在 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