lndllsn

共同进步

导航

编码转换完,为什么汉字还是乱码?

为什么下面的代码从ascii转换成gb2312后,汉字仍然是乱码??
   string unicodeString = "ADDDMT00025100000000058404111817:54:44LMADL     辽宁中外运船务代理有限公司    I040584A.DMT                  大连海关                      WZM               ";
   // Create two different encodings.
   Encoding ascii = Encoding.ASCII;
   Encoding gb2312 = Encoding.GetEncoding("GB2312");

   // Convert the string into a byte[].
   byte[] asciiBytes = ascii.GetBytes(unicodeString);
   char[] asciiChars = ascii.GetChars(asciiBytes);
   string asciiString = new string(asciiChars);

   // Perform the conversion from one encoding to the other.
   byte[] gb2312Bytes = Encoding.Convert(ascii, gb2312, asciiBytes);
           
   // 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[] gb2312Chars = gb2312.GetChars(gb2312Bytes);
   string gb2312String = new string(gb2312Chars);

   // Display the strings created before and after the conversion.
   Console.WriteLine("Original string: {0}", unicodeString);
   Console.WriteLine("ascii string:{0}",asciiString);
   Console.WriteLine("gb2312 converted string: {0}", gb2312String);

posted on 2005-01-08 12:42  老刘  阅读(1295)  评论(0编辑  收藏  举报