【问题标题】:Convert byte[] to char[]将 byte[] 转换为 char[]
【发布时间】:2011-07-22 19:22:08
【问题描述】:

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

【问题讨论】:

  • 你首先需要确定编码(如果你不知道的话)。 W3C's spec for HTML5 §8.2.2.2 提供了确定 HTML5 页面编码的步骤,但它包含一些可用于其他应用程序的步骤。

标签: c# arrays character-encoding type-conversion


【解决方案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();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-09-06
        • 2011-06-08
        • 2016-10-01
        • 2012-07-16
        • 1970-01-01
        • 2014-07-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多