admin 管理员组文章数量: 887021
2023年12月17日发(作者:linux显示所有文件和子目录)
js中把中文字符转换成Utf8编码
最近在做个pyhthon应用,有一个逻辑是需要在前台通过JS把一串字符串通过get方式提交到后台,提交英文和数字都正常,但是提交中文时出现了问题,因为在python的服务器端接收的是utf-8编码,所以需要在前台进行转码,以下是网上找来一段相对还不错的UTF-8 JS转码函数
//--------把中文字符转换成Utf8编码------------------------//
function EncodeUtf8(s1)
{
var s = escape(s1);
var sa = ("%");
var retV ="";
if(sa[0] != "")
{
retV = sa[0];
}
ngth; i ++)
{
if(sa[i].substring(0,1) == "u")
{
retV += Hex2Utf8(Str2Hex(sa[i].substring(1,5)));
}
else retV += "%" + sa[i];
}
return retV;
}
function Str2Hex(s)
{
var c = "";
var n;
var ss = "ABCDEF";
var digS = "";
for(var i = 0; i < ; i ++)
{
c = (i);
n = f(c);
digS += Dec2Dig(eval(n));
}
//return value;
return digS;
}
function Dec2Dig(n1)
{
var s = "";
var n2 = 0;
for(var i = 0; i < 4; i++)
{
n2 = (2,3 - i);
if(n1 >= n2)
{
s += '1';
n1 = n1 - n2;
}
else
s += '0';
}
return s;
}
function Dig2Dec(s)
{
var retV = 0;
if( == 4)
{
for(var i = 0; i < 4; i ++)
{
retV += eval((i)) * (2, 3 - i);
}
return retV;
}
return -1;
}
function Hex2Utf8(s)
{
var retS = "";
var tempS = "";
var ss = "";
if( == 16)
{
tempS = "1110" + ing(0, 4);
tempS += "10" + ing(4, 10);
tempS += "10" + ing(10,16);
var sss = "ABCDEF";
for(var i = 0; i < 3; i ++)
{
retS += "%";
ss = ing(i * 8, (eval(i)+1)*8);
retS += (Dig2Dec(ing(0,4)));
retS += (Dig2Dec(ing(4,8)));
}
return retS;
}
return "";
}
版权声明:本文标题:js中把中文字符转换成Utf8编码 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1702795406h431215.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论