0
点赞
收藏
分享

微信扫一扫

H5端对接ios需要utf-8转码成中文

皮皮球场 2022-04-26 阅读 61
javascript

语法:this.revertUTF8(要转化的字符) 

例子:

this.revertUTF8(%E5%8F%98%E5%BA%9F%E4%B8%BA%E5%AE%9D%EF%BC%8C%E5%88%9B%E6%84%8F%E6%89%8B%E5%B7%A5%E5%88%86%E4%BA%AB)

转换为:变废为宝,创意手工分享

封装的方法:

   revertUTF8(szInput) {
        var x
          var wch
          var wch1
          var wch2
          var uch = ''
          var szRet = ''
        for (x = 0; x < szInput.length; x++) {
          if (szInput.charAt(x) == '%') {
            wch = parseInt(szInput.charAt(++x) + szInput.charAt(++x), 16)
            if (!wch) {
              break
            }
            if (!(wch & 0x80)) {
              wch = wch
            } else if (!(wch & 0x20)) {
              x++
              wch1 = parseInt(szInput.charAt(++x) + szInput.charAt(++x), 16)
              wch = (wch & 0x1f) << 6
              wch1 = wch1 & 0x3f
              wch = wch + wch1
            } else {
              x++
              wch1 = parseInt(szInput.charAt(++x) + szInput.charAt(++x), 16)
              x++
              wch2 = parseInt(szInput.charAt(++x) + szInput.charAt(++x), 16)
              wch = (wch & 0x0f) << 12
              wch1 = (wch1 & 0x3f) << 6
              wch2 = wch2 & 0x3f
              wch = wch + wch1 + wch2
            }
            szRet += String.fromCharCode(wch)
          } else {
            szRet += szInput.charAt(x)
          }
        }
        return szRet
    },
举报

相关推荐

0 条评论