对下面这两句话不是很理解,知道的朋友帮忙举个小例子说明下哈,谢谢!!!!同一个中文字符,他们在不同的字符集编码方式下,在内存中的编码值也是不同的.一个字符的URL的编码是针对字符在内存的编码值而言的,采用不同编码的同一个字符的url结果也是不同的.

解决方案 »

  1.   

                string s = "A";
                byte[] buff = Encoding.UTF8.GetBytes(s);
                s = Encoding.UTF32.GetString(buff);
                Console.WriteLine(s);//输出:?
                s = Encoding.UTF8.GetString(buff);
                Console.WriteLine(s);输出:A
      

  2.   

    ACSII,每个字符对应一个字节,实际上只使用了7位,从00h-7Fh。只能表达128个字符。 
    GB2312,中文的一种编码,每个字符使用两个字节表示。 
    UTF-8, 可以表达所有unicode字符,每个字符可以用1-3个字节表示。 
    UTF-16, 可以表达所有unicode字符,每个字符可以用1-2个16位整数表示。 
    UTF-32, 可以表达所有unicode字符,每个字符可以用1个32位整数表示。
    string s = "";
    byte[] unicode = Encoding.Unicode.GetBytes(s);
    byte[] utf8 =Encoding.UTF8.GetBytes(s);
    byte[] unicode = Encoding.Unicode.GetBytes(s);
    System.Text.Encoding GB2312 = System.Text.Encoding.GetEncoding("GB2312");
    byte[] gb = GB2312.GetBytes(s);