如何在 C# 中将字节数组 (byte[]) 转换为字符串 (string)?
大家好!我是 C# 新手,正在处理网络协议。我有一个从 `BinaryReader` 获取的字节数组。我需要将其转换为普通字符串,以便输出到控制台或保存到日志。
以下是我的代码示例:
```csharp
using (var reader = new BinaryReader(File.OpenRead("data.bin")))
{
byte[] buffer = reader.ReadBytes(100);
// 现在如何将 buffer 转换为字符串?
string result = ???;
Console.WriteLine(result);
}
```
我尝试过使用 `Encoding.Default.GetString(buffer)`,但最终得到的是乱码而不是文本。我还听说过 `ASCIIEncoding` 类,但不确定该使用哪种编码。请告诉我如何正确地将字节转换为字符串以保留可读文本?如果事先不知道文件中数据的编码,该怎么办?
提前感谢您的帮助!
<<>>
主要解决方案:使用正确的编码
C# 中的 Encoding 类提供了