js页面根据url中的字符串,获取中文

首先:调用方法:chineseFromUtf8Url(document.URL.split("=", 2)[1]);

 

//方法实现

function   chineseFromUtf8Url(strUtf8){
 var bstr = "";
 var nOffset = 0;
 if(strUtf8  == "" ) return   "";
 strUtf8 = strUtf8.toLowerCase();
 nOffset = strUtf8.indexOf("%e");
 if(nOffset == -1)return strUtf8;
 while(nOffset != -1){
      bstr += strUtf8.substr(0, nOffset);
      strUtf8 = strUtf8.substr(nOffset, strUtf8.length - nOffset);
      if(strUtf8 == "" || strUtf8.length < 9 )
          return   bstr;
      bstr += utf8CodeToChineseChar(strUtf8.substr(0, 9));
      strUtf8 = strUtf8.substr(9,strUtf8.length - 9);
      nOffset = strUtf8.indexOf("%e");
 }
 return bstr +strUtf8;
}

//将编码转换成字符
function  utf8CodeToChineseChar(strUtf8)
{
      var iCode, iCode1, iCode2;
      iCode = parseInt("0x" + strUtf8.substr(1, 2));
      iCode1 = parseInt("0x" + strUtf8.substr(4, 2));
      iCode2 = parseInt("0x" + strUtf8.substr(7, 2));
      return   String.fromCharCode(((iCode & 0x0F) << 12) |  ((iCode1 & 0x3F) << 6) | (iCode2 & 0x3F));
}

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值