字符编码的问题 http://www.dayu88.net/AboutCode.ppt我以前给别人讲基本概念,做的一个ppt,很简陋的东西。你先看看这些基本的概念。按照你的水平应该很容易就搞懂的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 然后按照每个概念的关键字去寻找资料,就简单些。注册表 HKEY_CLASSES_ROOT\MIME\Database\Charset这里是内码的定义。我用的win2000 pro GBK,GB2312中文编码,属于2字节编码.由最高位的1来区别.;UNicode属于2字节编码(一般指UCS2).对所有国家的文字进行统一编码.确保所有的编码的唯一性.UTF-8,(Unicode Transform Format)便于传输Unicode以及处理在Unix上的编码,对Unicode进行转换得到的一种编码方式.UTF-16对UTF-8的一种扩展.具体的详细编码介绍可以参考http://search.csdn.net上搜一下. 谢谢大家,感觉清楚了好多GB2312 两字节,首字符用来区分ASC码。GBK,比GB2312多一些字。位数没多hy,这种编码就是unicode\u4E00这种unicode编码,正则中只有两位是这样的[^\x00-\xff],原来是没有的意思,并且我也知道为什么这样就可以了utf-16是8的扩充,并且位数也不一样。现在还有最后一个问题escape()函数是把字符串转成unicodeencodeURI这个转成什么东西拉比如encodeURI("一")怎么得出了%E4%B8%80这个东西,他unicode编码应该是%u4E00 终于明白个道理,原来前段时间那个拿汉字首字符的,是把字符转成ASC码,然后加65536,就首字符置1,这样就是gb2312编码了,而这个编码是按字符拼音,音节排序的,所以可以拿出来字符的首字符 头又大了,汉字“一”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 晕,算错了!asc 函数执行完是 -11589 加65536的GB2312编码是53947换成2进制为1110 1111 0001 1011 终于明白了,再次谢谢各位escape和encodeURI都是装成UNICODEescape函数就是直接的1110 XXXX 10 XXXXXX 10 XXXXXXX所组成的二进制的编码而另一个是包括前面的数字的 新手求助,这段JS代码是加密了还是怎么处理过呢?怎么读懂呢 网站空间屏蔽了使用js,也屏蔽了<embed,请问该如何加入加入swf动画? 急:不能创建ActiveXObject 对象 初学者请教问题之九:时间问题 给js对象添加属性疑惑? 页面跳转不成功,帮帮看看 兼容问题 一个关于html文本编辑器的问题 Javascript链接本地文件问题 中文字符编码问题 请问如何判断一个日期是否正确?在线等待 关于Select框选项的问题,高手请进,急,在线等待
这里是内码的定义。我用的win2000 pro
UNicode属于2字节编码(一般指UCS2).对所有国家的文字进行统一编码.确保所有的编码的唯一性.
UTF-8,(Unicode Transform Format)便于传输Unicode以及处理在Unix上的编码,对Unicode进行转换得到的一种编码方式.
UTF-16对UTF-8的一种扩展.具体的详细编码介绍可以参考http://search.csdn.net上搜一下.
GB2312 两字节,首字符用来区分ASC码。
GBK,比GB2312多一些字。位数没多
hy,这种编码就是unicode
\u4E00这种unicode编码,正则中只有两位是这样的[^\x00-\xff],原来是没有的意思,并且我也知道为什么这样就可以了
utf-16是8的扩充,并且位数也不一样。
现在还有最后一个问题
escape()函数是把字符串转成unicode
encodeURI这个转成什么东西拉
比如encodeURI("一")
怎么得出了%E4%B8%80这个东西,他unicode编码应该是%u4E00
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
asc 函数执行完是 -11589 加65536的GB2312编码是53947
换成2进制为1110 1111 0001 1011
escape和encodeURI都是装成UNICODE
escape函数就是直接的
1110 XXXX 10 XXXXXX 10 XXXXXX
X所组成的二进制的编码
而另一个是包括前面的数字的