语法: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
},