如何使用本机 js 获取此 emoji dec 表示?
How to get this emoji dec representation using native js?
我在 html 代码中添加了一个表情符号,并在 div - “ 😀 ” 中写入了它的 dec 表示形式;
如何获得 😀 的数字表示?
我需要处理一个包含文本和表情符号的字符串,并且表情符号应该以数字视图表示。
因此,如果我有一个包含 - "hello world 😀" 的字符串,则应将其替换为 "hello world 😀 ;"
document.onreadystatechange = function(){
if(document.readyState == "complete"){
document.getElementById("area").addEventListener("keypress" , public_mode);
}
}
function public_mode(event){
var key = event.key;
if(key === "Enter") {
event.preventDefault();
sendMessage(this);
}
}
function sendMessage(area){
console.log(area.innerHTML);
area.innerHTML = "";
}
#area {
padding: 5px;
width: 170px;
border:1px solid black;
}
<div id = "area" contenteditable="true">How to get it in dec - 😀</div>
您可以使用 codePointAt(returns 一个 non-negative 整数,即 Unicode 代码点值)。
let emoji = area.innerHTML.split('- ')[1];
console.log(emoji.codePointAt(0));
可以通过.codePointAt()
获取字符的编号:
console.log(`&#${ ("".codePointAt(0)) };`)
这个(结合循环)可以解决你的问题:
function encodeEmoji(str){
let output = ""
for(let i = 0; i < str.length; i++){
const codePoint = str.codePointAt(i)
//don't encode common characters
if(codePoint > 9727)
output += `&#${ codePoint };`
else
output += str[i]
}
return output
}
console.log(encodeEmoji("hello world "))
我在 html 代码中添加了一个表情符号,并在 div - “ 😀 ” 中写入了它的 dec 表示形式; 如何获得 😀 的数字表示? 我需要处理一个包含文本和表情符号的字符串,并且表情符号应该以数字视图表示。 因此,如果我有一个包含 - "hello world 😀" 的字符串,则应将其替换为 "hello world 😀 ;"
document.onreadystatechange = function(){
if(document.readyState == "complete"){
document.getElementById("area").addEventListener("keypress" , public_mode);
}
}
function public_mode(event){
var key = event.key;
if(key === "Enter") {
event.preventDefault();
sendMessage(this);
}
}
function sendMessage(area){
console.log(area.innerHTML);
area.innerHTML = "";
}
#area {
padding: 5px;
width: 170px;
border:1px solid black;
}
<div id = "area" contenteditable="true">How to get it in dec - 😀</div>
您可以使用 codePointAt(returns 一个 non-negative 整数,即 Unicode 代码点值)。
let emoji = area.innerHTML.split('- ')[1];
console.log(emoji.codePointAt(0));
可以通过.codePointAt()
获取字符的编号:
console.log(`&#${ ("".codePointAt(0)) };`)
这个(结合循环)可以解决你的问题:
function encodeEmoji(str){
let output = ""
for(let i = 0; i < str.length; i++){
const codePoint = str.codePointAt(i)
//don't encode common characters
if(codePoint > 9727)
output += `&#${ codePoint };`
else
output += str[i]
}
return output
}
console.log(encodeEmoji("hello world "))