http://www.dayu88.net/AboutCode.ppt我以前给别人讲基本概念,做的一个ppt,很简陋的东西。
你先看看这些基本的概念。按照你的水平应该很容易就搞懂的。

解决方案 »

  1.   

    然后按照每个概念的关键字去寻找资料,就简单些。注册表 HKEY_CLASSES_ROOT\MIME\Database\Charset
    这里是内码的定义。我用的win2000 pro
      

  2.   

    GBK,GB2312中文编码,属于2字节编码.由最高位的1来区别.;
    UNicode属于2字节编码(一般指UCS2).对所有国家的文字进行统一编码.确保所有的编码的唯一性.
    UTF-8,(Unicode Transform Format)便于传输Unicode以及处理在Unix上的编码,对Unicode进行转换得到的一种编码方式.
    UTF-16对UTF-8的一种扩展.具体的详细编码介绍可以参考http://search.csdn.net上搜一下.
      

  3.   

    谢谢大家,感觉清楚了好多
    GB2312 两字节,首字符用来区分ASC码。
    GBK,比GB2312多一些字。位数没多
    h&#121,这种编码就是unicode
    \u4E00这种unicode编码,正则中只有两位是这样的[^\x00-\xff],原来是没有的意思,并且我也知道为什么这样就可以了
    utf-16是8的扩充,并且位数也不一样。
    现在还有最后一个问题
    escape()函数是把字符串转成unicode
    encodeURI这个转成什么东西拉
    比如encodeURI("一")
    怎么得出了%E4%B8%80这个东西,他unicode编码应该是%u4E00
      

  4.   

    终于明白个道理,原来前段时间那个拿汉字首字符的,是把字符转成ASC码,然后加65536,就首字符置1,这样就是gb2312编码了,而这个编码是按字符拼音,音节排序的,所以可以拿出来字符的首字符
      

  5.   

    头又大了,汉字“一”
    asc 函数执行完是 -11589 加65536的GB2312编码
    13947,我想这个应该是8进制的数,加上首字符的1刚好16位
    1001 1111 0001 1011
    这个应该是数据在计算机中的存储UNICODE编码是可变字节 首位有几个字节就几个1然后0,然后每个字节前都是10,剩下的位进行编码
    这样就怪了
    比如两字节的数据
    110 XXXXX 10XXXXXX
    剩下的位是11位,怎么可能,这是什么进制的数啊 %u4E00 这是16进制的吧,怎么用JAVA中的str.getBytes()循环得出的居然是两个字节-46,-69
      

  6.   

    晕,算错了!
    asc 函数执行完是 -11589 加65536的GB2312编码是53947
    换成2进制为1110 1111 0001 1011
      

  7.   

    终于明白了,再次谢谢各位
    escape和encodeURI都是装成UNICODE
    escape函数就是直接的
    1110 XXXX 10 XXXXXX 10 XXXXXX
    X所组成的二进制的编码
    而另一个是包括前面的数字的