1.js代码
function eee(){
var div = "哈哈啦啦!";
$("#qwe").append(encodeUnicode(div));
$("#qwe").append(decodeUnicode(encodeUnicode(div)));
}
function decodeUnicode(str) {
var res = str.replace(/\\/g, "%");
return unescape(res);
};
function encodeUnicode(str) {
var res = [];
for ( var i=0; i<str.length; i++ ) {
res[i] = ( "00" + str.charCodeAt(i).toString(16) ).slice(-4);
}
return "\\u" + res.join("\\u") + '<br/>';
};
2.body 代码
<button onclick="eee()">转换</button>
<div id="qwe">
</div>
3.效果
4.这个也能用 ,但是上面有写法简单的,所以这个可以忽略
//emjio转原文
function utf16toEntities(str) {
var patt=/[\ud800-\udbff][\udc00-\udfff]/g; // 检测utf16字符正则
str = str.replace(patt, function(char){
var H, L, code;
if (char.length===2) {
H = char.charCodeAt(0); // 取出高位
L = char.charCodeAt(1); // 取出低位
code = (H - 0xD800) * 0x400 + 0x10000 + L - 0xDC00; // 转换算法
return "&#" + code + ";";
} else {
return char;
}
});
return str;
};