将byte[]转换成char[]

68

如何在C#中将一个byte数组转换为char数组?


1
你首先需要确定编码(如果你不知道它)。W3C的HTML5规范§8.2.2.2提供了确定HTML5页面编码的步骤,但其中包含一些可用于其他应用程序的步骤。 - Cole Tobin
3个回答

87
System.Text.Encoding.ChooseYourEncoding.GetString(bytes).ToCharArray();

替换上述正确的编码:例如:

System.Text.Encoding.UTF8.GetString(bytes).ToCharArray();

21

你必须知道源编码。

string someText = "The quick brown fox jumps over the lazy dog.";
byte[] bytes = Encoding.Unicode.GetBytes(someText);
char[] chars = Encoding.Unicode.GetChars(bytes);

4
byte[] a = new byte[50];

char [] cArray= System.Text.Encoding.ASCII.GetString(a).ToCharArray();

从thedixon发布的URL中

http://bytes.com/topic/c-sharp/answers/250261-byte-char

在不将其转换为字符串的情况下,您无法对字节执行ToCharArray操作。

引用Jon Skeet的话:

这里不需要复制 - 只需使用Encoding.GetChars即可。但是,并不能保证ASCII是要使用的适当编码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接