浅谈利用javascript实现gb2312编码。

    先转转以前博文冲冲门面^^

    js本身带有url编码方法,即encodeURI和encodeURIComponent,两个函数采用utf-8进行编码,区别在于编码的范围不同。escape函数则是采用unicode进行编码,做过ASP开发的朋友知道,ASP可以采用Server.URLEncode(str)方法进行编码,Server.URLEncode编码后是gb2312格式,那么js是否可以实现类似于ASP的编码形式呢,答案是肯定的。

    要想通过js实现gb2312编码,首先需要了解下gb2312中文编码方式及范围,gb2312编码又称为区位码,从别名得知gb2312编码是按区位进行划分的,gb2312把编码表分为94个区,每个区分为94个位,每个字符的区号和位号组合起来就是该汉字的区位码即代表该汉字。通过学习与分析得知gb2312格式的url编码实际就是gb2312编码表的区号位号组合的十六进制形式。

    区位码中01-09区是符号、数字区,16-87区是汉字区,10-15和88-94是未定义的空白区。所以编码汉字的话需要从16区开始,即区号和位号上分别加上0xa0就可以定位到汉字区。了解了编码的方式,剩下的就是实现啦,首先建个gb2312编码表字典,然后写检索程序查找转换就可以啦。

    下面是js实现gb2312编码的函数,如有什么不足或遗漏,路过的大侠请指出^^


转载于:https://www.cnblogs.com/cnzmm/archive/2011/03/19/1989117.html

你可能感兴趣的:(浅谈利用javascript实现gb2312编码。)