Avatar ·

如何在 C# 中将 UTF-8 字节数组 (byte[]) 转换为字符串 (string)?

大家好!我是 C# 新手,在处理网络数据时遇到了问题。我有一个方法从 TCP 套接字接收字节数组 (byte[])。我知道这些字节是用 UTF-8 编码的,我需要将它们转换为普通字符串 (string),以便输出到控制台或进一步处理。 以下是我的示例代码: ```csharp byte[] data = new byte[] { 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100 }; // "Hello World" 的 UTF-8 编码 string result = data.ToString(); // 得到 "System.Byte[]" Console.WriteLine(result); ``` 显然,`data.ToString()` 不起作用——它返回的是类型名称,而不是内容。我尝试过使用 `Convert.ToBase64String()`,但它返回的是 base64 字符串,而不是可读形式。我也尝试过直接通过 (string)data 进行强制转换,但编译器报错。 我知道 .NET 中有 `Encoding` 类,但不知道如何正确使用它。请告诉我如何正确且安全地将 UTF-8 的 byte[] 转换为字符串。