Min*_*ina 1 javascript unicode console emoji console.log
我有一个包含 Unicode 数据的数组,例如var data = ["1F923", "1F603"]
如何将 Unicode 转换为表情符号?
如果我"\u{1F923}"在控制台中使用,它会返回一个表情符号,但如果我使用"\u{"+ data[0] +"}",它会返回一个错误。任何人都可以帮我将 unicode 转换为表情符号。
Ral*_*edl 10
表情符号是 unicode 的一个子集。没有必要或可能从 unicode 到 emoji 的转换。只需将您的数组更改为
var data = ["\u{1F923}", "\u{1F603}"]
Run Code Online (Sandbox Code Playgroud)
如果您的输入是十六进制数,则可以使用
String.fromCodePoint(parseInt ("1F923", 16))
Run Code Online (Sandbox Code Playgroud)
在 HTML 中,您还可以使用 HTML 十六进制实体
"&#x" + "1F923" + ";"
Run Code Online (Sandbox Code Playgroud)
你可以使用这个 javascript 函数将 unicode 转换为表情符号
var unicodeToChar = function(text) {
return text.replace(/\\u[\dA-F]{4}/gi, function(match) {
return String.fromCharCode(parseInt(match.replace(/\\u/g, ''), 16));
});
}
Run Code Online (Sandbox Code Playgroud)
新版本
var emojiToUnicode = function(text) {
var emojiUnicodes = ''
var i;
var matchedText = text.match(regex);
if (matchedText != null) {
var unicodes = text.match(regex)
.map(e => "\\u" + e.charCodeAt(0).toString(16) + "\\u" + e.charCodeAt(1).toString(16));
for (i = 0; i < unicodes.length; i++) {
emojiUnicodes = emojiUnicodes + unicodes[i]
}
text = text.replace(regex, '') + emojiUnicodes.replace(/\\"/g, '\"');
}
return text;
}
Run Code Online (Sandbox Code Playgroud)
您可以通过在 Github 上搜索以下代码片段来找到示例正则表达式。
Run Code Online (Sandbox Code Playgroud)/(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}
如果你想将 unicode 转换为表情符号,这是函数
var unicodeToChar = function(text) {
return text.replace(/\\u[\dA-F]{4}/gi, function(match) {
return String.fromCharCode(parseInt(match.replace(/\\u/g, ''), 16));
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5340 次 |
| 最近记录: |