将 byte[] 转换为 char[]
Posted
技术标签:
【中文标题】将 byte[] 转换为 char[]【英文标题】:Convert byte[] to char[] 【发布时间】:2011-07-22 19:22:08 【问题描述】:如何在 C# 中将 byte
数组转换为 char
数组?
【问题讨论】:
你首先需要确定编码(如果你不知道的话)。 W3C's spec for html5 §8.2.2.2 提供了确定 HTML5 页面编码的步骤,但它包含一些可用于其他应用程序的步骤。 【参考方案1】:你必须知道源编码。
string someText = "The quick brown fox jumps over the lazy dog.";
byte[] bytes = Encoding.Unicode.GetBytes(someText);
char[] chars = Encoding.Unicode.GetChars(bytes);
【讨论】:
【参考方案2】: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 是 将是适当的编码 使用。
【讨论】:
【参考方案3】:System.Text.Encoding.ChooseYourEncoding.GetString(bytes).ToCharArray();
替换上面的正确编码:例如
System.Text.Encoding.UTF8.GetString(bytes).ToCharArray();
【讨论】:
以上是关于将 byte[] 转换为 char[]的主要内容,如果未能解决你的问题,请参考以下文章
有没有合法的方法将 unsigned char 指针转换为 std::byte 指针?