之前日志里的的 xss,csrf 有利用ucs-2
进行安全攻击的说明。
有时候需要对其进行utf-8
的转换。
Ps:
gbk
编码转unicode
需要查表
一般会有流程
gbk => unicode(ucs-2) => utf-8
pass gbk流程
ucs-2
转utf-8
可以如下实现:
function toUtf8(code) {
var iByte = 0;
var i = 0;
result = "";
while (code > 0x7f) {
iByte = code % 0x40;
code = (code - iByte) / 0x40;
result = "%" + (iByte | 0x80).toString(16).toUpperCase() + result;
i++;
}
prefix = [0x0, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc];
if (i > prefix.length) {
i = 5;
}
result = "" + (code | prefix[i]).toString(16).toUpperCase() + result;
return result;
}
获取unicode则可以如
'adea'.charCodeAt(index).toString(16)
或是
escape('汉')
Ps: escape将被 deprecated