如何在C#中将字节数组转换为字符串?

在.Net中,每个字符串都有一个字符集和编码。字符编码告诉计算机如何将原始零和一解释为真实字符。通常通过将数字与字符配对来实现。实际上,这是将一组Unicode字符转换为字节序列的过程。

我们可以使用Encoding.GetString方法(Byte [])将指定字节数组中的所有字节解码为字符串。Encoding类中还提供了其他几种解码方案,例如UTF8,Unicode,UTF32,ASCII等。Encoding类可作为System.Text命名空间的一部分使用。

string result = Encoding.Default.GetString(byteArray);

示例

using System;

using System.Text;

namespace DemoApplication {

   public class Program {

      static void Main(string[] args) {

         byte[] byteArray = Encoding.Default.GetBytes("Hello World");

         Console.WriteLine($"Byte Array is: {string.Join(" ", byteArray)}");

         string str = Encoding.Default.GetString(byteArray);

         Console.WriteLine($"String is: {str}");

         Console.ReadLine();

      }

   }

}

输出结果

上面代码的输出是

Byte Array is: 72 101 108 108 111 32 87 111 114 108 100

String is: Hello World

重要的是要注意,我们应该对两个方向使用相同的编码。例如,如果字节数组是用ASCII编码的,而我们试图使用UTF32获取字符串,则不会获得所需的字符串。

示例

using System;

using System.Text;

namespace DemoApplication {

   public class Program {

      static void Main(string[] args) {

         byte[] byteArray = Encoding.ASCII.GetBytes("Hello World");

         Console.WriteLine($"Byte Array is: {string.Join(" ", byteArray)}");

         string str = Encoding.UTF32.GetString(byteArray);

         Console.WriteLine($"String is: {str}");

         Console.ReadLine();

      }

   }

}

输出结果

上面代码的输出是

Byte Array is: 72 101 108 108 111 32 87 111 114 108 100

String is: ???

以上是 如何在C#中将字节数组转换为字符串? 的全部内容, 来源链接: utcz.com/z/354290.html

回到顶部