js 編譯emoji表情

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;
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章