如何使用firefox addons api解码未在UTF8中编码的URL?

时间:2011-05-03 09:03:29

标签: character-encoding firefox-addon decode

我正在尝试编写一个firefox插件,只是遇到了这个问题。

Firefox似乎用网站的字符集对搜索引擎网址进行编码,假设我们有一个单词“火”,这意味着用中文点火,我们用谷歌搜索它,网址是

http://www.google.com/search?q=g+火&ie=utf-8 ... 

这个网址是用UTF8解码/转发的,但如果我去百度,一个字符集为gb2312的中文搜索引擎,我们会得到网址

http://www.baidu.com/s?wd=%BB%F0

这里BBF0是'火',

的gb2312代码

如何使用firefox API从某些编码(gbk,jp或其他)获取UTF8字符?我浏览了develop.mozilla.org上的nsIScriptableUnicodeConverter部分,但是找不到合适的方法。

1 个答案:

答案 0 :(得分:1)

好吧,我必须对firefox如何编码其URL感到困惑,但我刚刚找到了

var converter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
converter.charset = "gbk";
var car = "%D6%D0%B9%FA";
alert(converter.ConvertToUnicode(unescape("%D6%D0%B0%FA")));

会做到这一点......