js编码转换 utf8转为gb2312编码

发布时间:2019-08-07编辑:脚本学堂
分享一个js编码转换的小例子,实现utf8编码到gb2312编码的转换,有需要的朋友参考下。

例子,js编码转换实例。
代码:
 

复制代码 代码示例:

//把编码转换成 gb2312编码
function UrlEncode(str)
{
 var i, c, ret="", strSpecial="!"#$%&'()*+,/:;<=>?@[]^`{|}~%";
 for(i = 0; i < str.length; i++)
 {
 //alert(str.charCodeAt(i));
 
 c = str.charAt(i);
 if(c==" ")
 ret+="+";
 else if(strSpecial.indexOf(c)!=-1)
 ret += "%" + str.charCodeAt(i).toString(16);
 if(z[str.charCodeAt(i)] != null)
 {
 d = z[str.charCodeAt(i)];
 try
 {
 ret += "%" + d.slice(0,2) + "%" + d.slice(-2);
 }
 catch (e)
 {
 alert(" $$ error name = " + e.name + ", message = " +e.message + ", d " + i + "= " + str.charCodeAt(i))
 }
 } //(脚本学堂 www.jb200.com)
 else
 ret += c;
 }
 return ret;
 }

 function getSpell(str, sp)
 {
 var i, c, t, ret="";
 if(sp == null)
 sp="";

 for(i = 0; i < str.length; i++)
 {
 if(str.charCodeAt(i) >= 0x4e00)
 {
 c = parseInt(z[str.charCodeAt(i)], 16);
 if(c < 55290)
 {
 for(t = qswhSpell.length-1; t > 0; t = t - 2)
 if(qswhSpell[t] <= c)
 break;
 if(t > 0)
 ret += qswhSpell[t - 1] + sp;
 }
 }
 } a
 return ret.substr(0, ret.length-sp.length);
}