怎样用js解码GB2312格式的字符串

apeng0626 2008-10-20 11:54:10
我在后台可以实现此功能,代码如下
string a = "http://www.baidu.com/s?wd=%C4%E3%BA%C3";
a = HttpUtility.UrlDecode(a, UnicodeEncoding.GetEncoding("GB2312"));
Response.Write(a);

显示结果为:http://www.baidu.com/s?wd=你好

想请教一下高手,用js怎么实现这个功能?
...全文
1246 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
diaoqingjie521 2008-11-08
  • 打赏
  • 举报
回复
用decodeURIComponent('%C4%E3%BA%C3')
Go 旅城通票 2008-10-22
  • 打赏
  • 举报
回复
130分就这样水漂了,这么浪费。。。。
Go 旅城通票 2008-10-21
  • 打赏
  • 举报
回复
最差的办法就是服务器解码后再返回给客户端

刚才找了个,需要对照表,这个文件好像没提供,而且也是服务器端的代码【它读这个对照表文件来解码】
apeng0626 2008-10-21
  • 打赏
  • 举报
回复
没有,现在做一个解码百度查询关键字的功能,百度编码用的GB2312方式,解码用js不会做
strife013 2008-10-21
  • 打赏
  • 举报
回复
楼主也在做seo软件吗?碰到的问题和我的一样...js没法解析gb2312要自己写个对照表,然后自己写程序翻译...我懒得做谁能提供个代码下在连接???
apeng0626 2008-10-21
  • 打赏
  • 举报
回复
看来这个问题还有点难度!
apeng0626 2008-10-20
  • 打赏
  • 举报
回复
我是用.net的方法做得,现在我需要js的方法
Cyril_Tam 2008-10-20
  • 打赏
  • 举报
回复
你自己不是做了吗?
apeng0626 2008-10-20
  • 打赏
  • 举报
回复
嗯,有gb2312转换成utf-8的方法,不过我试了,好像不行。
varlj 2008-10-20
  • 打赏
  • 举报
回复
好像暂时没有什么好的办法,前几天也在网上找了,大多都是根据码表来的

或许,变通一下,通过ajax到服务器来解码再传回(好像有点小题大作)……

也有看到说用String.fromCharCode(),当文件编码是gb2312的时候,可以得到值,不过我是没成功……

期待高手吧
apeng0626 2008-10-20
  • 打赏
  • 举报
回复
document.write(escape("你好"));//结果为:%u4F60%u597D
document.write(unescape("%C4%E3%BA%C3"))//结果为:ÄãºÃ
apeng0626 2008-10-20
  • 打赏
  • 举报
回复
string a 这个是用于js的方法吗?晕
还有,我现在是要从"你好"编码后的字符串解码,
escape("你好")等于"%C4%E3%BA%C3"吗?
unescape("%C4%E3%BA%C3")等于"你好"吗?
请问你们有测过吗?
街头小贩 2008-10-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 apeng0626 的回复:]
wd后面的内容%C4%E3%BA%C3是中文"你好"用GB2312格式编码得到的,我现在需要用js方法解码到中文"你好"
escape和unescape只能用于UTF-8格式的编解码
[/Quote]
string a = "http://www.baidu.com/s?wd="+escape("你好");
街头小贩 2008-10-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 starwu 的回复:]
escape

string a = "http://www.baidu.com/s?wd=%C4%E3%BA%C3";
a = escape(a);


取值的时候用: unescape(a);
[/Quote]
正解
apeng0626 2008-10-20
  • 打赏
  • 举报
回复
wd后面的内容%C4%E3%BA%C3是中文"你好"用GB2312格式编码得到的,我现在需要用js方法解码到中文"你好"
escape和unescape只能用于UTF-8格式的编解码
starwu 2008-10-20
  • 打赏
  • 举报
回复
escape

string a = "http://www.baidu.com/s?wd=%C4%E3%BA%C3";
a = escape(a);


取值的时候用: unescape(a);

87,910

社区成员

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

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