时间:2021-05-26
[code]<script>
functionchinesefromutf8url(strutf8)
{
varbstr="";
varnoffset=0;
//processingpointonstrutf8
if(strutf8=="")
return"";
strutf8=strutf8.tolowercase();
noffset=strutf8.indexof("%e");
if(noffset==-1)
returnstrutf8;
while(noffset!=-1)
{
bstr+=strutf8.substr(0,noffset);
strutf8=strutf8.substr(noffset,strutf8.length-noffset);
if(strutf8==""¦¦strutf8.length<9)//badstring
returnbstr;
bstr+=utf8codetochinesechar(strutf8.substr(0,9));
strutf8=strutf8.substr(9,strutf8.length-9);
noffset=strutf8.indexof("%e");
}
returnbstr+strutf8;
}
functionunicodefromutf8(strutf8)
{
varbstr="";
varntotalchars=strutf8.length;//totalcharstobeprocessed.
varnoffset=0;//processingpointonstrutf8
varnremainingbytes=ntotalchars;//howmanybyteslefttobeconverted
varnoutputposition=0;
varicode,icode1,icode2;//thevalueoftheunicode.
while(noffset<ntotalchars)
{
icode=strutf8.charcodeat(noffset);
if((icode&0x80)==0)//1byte.
{
if(nremainingbytes<1)//notenoughdata
break;
bstr+=string.fromcharcode(icode&0x7f);
noffset++;
nremainingbytes-=1;
}
elseif((icode&0xe0)==0xc0)//2bytes
{
icode1=strutf8.charcodeat(noffset+1);
if(nremainingbytes<2¦¦//notenoughdata
(icode1&0xc0)!=0x80)//invalidpattern
{
break;
}
bstr+=string.fromcharcode(((icode&0x3f)<<6)¦(icode1&0x3f));
noffset+=2;
nremainingbytes-=2;
}
elseif((icode&0xf0)==0xe0)//3bytes
{
icode1=strutf8.charcodeat(noffset+1);
icode2=strutf8.charcodeat(noffset+2);
if(nremainingbytes<3¦¦//notenoughdata
(icode1&0xc0)!=0x80¦¦//invalidpattern
(icode2&0xc0)!=0x80)
{
break;
}
bstr+=string.fromcharcode(((icode&0x0f)<<12)¦
((icode1&0x3f)<<6)¦
(icode2&0x3f));
noffset+=3;
nremainingbytes-=3;
}
else//4ormorebytes--unsupported
break;
}
if(nremainingbytes!=0)
{
//badutf8string.
return"";
}
returnbstr;
}
functionutf8codetochinesechar(strutf8)
{
varicode,icode1,icode2;
icode=parseint("0x"+strutf8.substr(1,2));
icode1=parseint("0x"+strutf8.substr(4,2));
icode2=parseint("0x"+strutf8.substr(7,2));
returnstring.fromcharcode(((icode&0x0f)<<12)¦
((icode1&0x3f)<<6)¦
(icode2&0x3f));
}
alert(chinesefromutf8url("%e6%b5%8b%e8%af%95"))
</script>[code]
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
UTF8编码和GB2312编码是有区别的,在sqlplus中导入UTF8编码的sql脚本就会出现乱码错误,这时就需要将UTF8编码转换成GB2312编码,可
复制代码代码如下://截取字符串长度。支持utf-8和gb2312编码。若为gb2312,先将其转为utf-8,在utf-8的基础上截取然后再转换回来funct
常用HTML编码之urf-8编码转换为gb2312编码或者gb2312转换为utf-8编码快速转换设置,这里pCSS5介绍使用DW软件快速转换转化设置教程。HT
最近有好多学生问我网页的编码问题,gb2312和utf-8编码有什么区别呢?今天总结下。最近有好多学生问我网页的编码问题,gb2312和utf-8编码有什么区别
我们在编辑DreamWeaver文档时,如果原来是utf-8编码的,改成gb2312编码文档或由gb2312改成utf-8编码的文档,里面的汉字或非英文字符就会