共计 307 个字符,预计需要花费 1 分钟才能阅读完成。
function utf16toEntities(str){
var patt=/\ud800-\udbff/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;
}
utf16toEntities(‘😁’);
正文完
发表至: javascript
2021-08-19