string s=((char)49).ToString()+((char)205).ToString()+((char)245).ToString()
他实际是"1王"
怎样转换成unicode字符串显示出来?

解决方案 »

  1.   

    System.Text.Encoding.Convert方法
    将整个字节数组从一种编码转换为另一种编码。System.Text.Encoding.Convert(System.Text.Encoding.ASCII,System.Text.Encoding.Unicode,bs);   示例:using System;
    using System.Text;namespace ConvertExample
    {
       class ConvertExampleClass
       {
          static void Main()
          {
             string unicodeString = "This string contains the unicode character Pi(\u03a0)";         // Create two different encodings.
             Encoding ascii = Encoding.ASCII;
             Encoding unicode = Encoding.Unicode;         // Convert the string into a byte[].
             byte[] unicodeBytes = unicode.GetBytes(unicodeString);         // Perform the conversion from one encoding to the other.
             byte[] asciiBytes = Encoding.Convert(unicode, ascii, unicodeBytes);         // Convert the new byte[] into a char[] and then into a string.
             // This is a slightly different approach to converting to illustrate
             // the use of GetCharCount/GetChars.
             char[] asciiChars = new char[ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)];
             ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
             string asciiString = new string(asciiChars);         // Display the strings created before and after the conversion.
             Console.WriteLine("Original string: {0}", unicodeString);
             Console.WriteLine("Ascii converted string: {0}", asciiString);
          }
       }
    }
      

  2.   

    using System;
    using System.Text;class Program
    {    
      static void Main()
      {
        byte[] b = { 49,0,139,115 };
        string s = Encoding.Unicode.GetString(b);
        Console.WriteLine(s);  // 输出:1王
      }
    }
      

  3.   

    1:首先你要得到的并不是一个string,而是一个byte[],通过byte[]并指定一种Encoding 方式,可以得到unicode字符串.
    对你的第一行代码,你要执行的是:
    byte[] ba = new byte[]{49,205,245};2:接下来你要执行
    string baUnicode =- System.Text.Encoding.ASCII.GetString(ba);
      

  4.   

    刚发现c#的char是16位的, 如何能把unicode的字符串转换为c++ 样子的char[] 呢?