C#,用于utf-8,gb2312互相转换代码,谢谢

解决方案 »

  1.   

    看到了有Encoding.Convert(unicode, ascii, unicodeBytes);这个例子,是不是只需改变前两个参数,即可,如Encoding.Convert(utf-8, gb2312, unicodeBytes);Encoding.Convert(gb2312, utf-8, unicodeBytes);这样就可以使其相互转化??
    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.   

    这种是知道他们的编码方式了,但我的字符串使用前不知道是utf8还是gb2312又该怎样处理