编码转换完,为什么汉字还是乱码?
为什么下面的代码从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);