utf8转GBK码,在线等

cn00439804 2011-12-01 10:04:38
在百度中输入“好”搜索,url变为http://www.baidu.com/s?bs=%BA%C3%C8%CB&f=8&rsv_bp=1&wd=%BA%C3&inputT=1017
其中wd表示当前输入的内容,即"好" == "%BA%C3"
utf8中的"好" == "%E5%A5%BD"
首先我想确认"%BA%C3"是否为GBK编码,如果是的话,请教js里如何把utf8转为GBK编码
我这边只支付纯静态页面,所以没法通过后端程序转,大家帮帮忙。
...全文
995 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ted423 2013-06-26
  • 打赏
  • 举报
回复
应该放这个的 放错了 http://www.cnblogs.com/cy163/archive/2007/05/31/766886.html
ted423 2013-06-26
  • 打赏
  • 举报
回复
引用 8 楼 Giberson1 的回复:
“%BA%C3”不是GBK编码,而是unicode编码 一般unicode的编码和解码,js有内置的函数,可以使用

decodeURIComponent("****")
来解码
http://zhidao.baidu.com/question/55467860.html
cde32 2012-11-07
  • 打赏
  • 举报
回复
不管什么汉字,"%BA%C3"两组肯定是GBK,utf-8是三组"%E5%A5%BD"! 你用decodeURL解码成汉字就好办了。
luxingchang1979 2012-11-07
  • 打赏
  • 举报
回复
前台可以用:encodeURI(变量)或者encodeURI(encodeURI(变量)) 后台可以用:URLEncoder.encode(变量,"UTF-8")
chen_ya_ping 2012-11-07
  • 打赏
  • 举报
回复
有时候这样的行为是游览器本身的行为,不要我们自己来解码什么的,尤其是提交到后台的数据
chen_ya_ping 2012-11-07
  • 打赏
  • 举报
回复
其实不管是后台还是前台都有现成的方法进行转码的
Giberson1 2012-11-07
  • 打赏
  • 举报
回复
“%BA%C3”不是GBK编码,而是unicode编码 一般unicode的编码和解码,js有内置的函数,可以使用

decodeURIComponent("****")
来解码
hch126163 2012-11-07
  • 打赏
  • 举报
回复
js 只有utf-8 编码方式 gb2312 需要自己写。 但是要知道 编码规则,才能写。 我只找到 utf-8的编码规则: 例子: “你”字的UTF-8编码: E4 BD A0        11100100 10111101 10100000 “你”的Unicode编码: 4F 60          01001111 01100000 按照UTF-8的编码规则,分解如下:xxxx0100 xx111101 xx100000 把除了x之外的数字拼接在一起,就变成“你”的Unicode编码了。 注意UTF-8的最前面3个1,表示整个UTF-8串是由3个字节构成的。 经过UTF-8编码之后,再也不会出现敏感字符了,因为最高位始终为1。 gb2312 需要字库,通常都是服务器端处理的。 GB2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时,GB2312收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄罗斯语西里尔字母在内的682个全形字符。 GB2312的出现,基本满足了汉字的计算机处理需要,它所收录的汉字已经覆盖99.75%的使用频率。GB2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号。这种表示方式也称为区位码。 01-09区为特殊符号。 16-55区为一级汉字,按拼音排序。 56-87区为二级汉字,按部首/笔画排序。 10-15区及88-94区则未有编码。 举例来说,“啊”字是GB2312之中的第一个汉字,它的区位码就是1601。字节结构在使用GB2312的程序中,通常采用EUC储存方法,以便兼容于ASCII。每个汉字及符号以两个字节来表示。第一个字节称为“高位字节”,第二个字节称为“低位字节”。 “高位字节”使用了0xA1-0xF7(把01-87区的区号加上0xA0),“低位字节”使用了0xA1-0xFE(把01-94加上0xA0)。例如“啊”字在大多数程序中,会以0xB0A1储存。(与区位码对比:0xB0=0xA0+16,0xA1=0xA0+1)。 所以GB2312编码中汉字区码的十进制是从176到247,位码是从161到255.之所以存储了6763小于82*94=6768,是因为在区码为215,位码为250-254之间共五个编码没有汉字编码,所以6768-5=6763个。
ziyouren521125 2012-11-06
  • 打赏
  • 举报
回复
"好" == "%BA%C3" 并不是GBK的意思 是给编码了一下,js可以用encodeURI或者escape进行编码 用decodeURI或者unescape进行解码
zhihui29 2012-11-06
  • 打赏
  • 举报
回复
ら抖筿珇Τそ
sohighthesky 2011-12-01
  • 打赏
  • 举报
回复
cn00439804 2011-12-01
  • 打赏
  • 举报
回复
求兄弟们帮我解惑
cn00439804 2011-12-01
  • 打赏
  • 举报
回复
其实我想测的是百度百科,我贴上2个链接就能说明这个问题了:

http://baike.baidu.com/searchword/?word=%BA%C3&pic=1&sug=1&oq=%BA%C3

http://baike.baidu.com/searchword/?word=%E5%A5%BD&pic=1&sug=1&oq=%E5%A5%BD
p2227 2011-12-01
  • 打赏
  • 举报
回复
http://www.baidu.com/s?wd=%E5%A5%BD&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&n=2&inputT=722

我输入 好 后连接是这样的

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧