将Unicode转换为表情符号的正确方法是什么?

时间:2018-08-01 18:57:39

标签: javascript unicode console emoji console.log

我有一个包含Unicode数据的数组,例如var data = ["1F923", "1F603"] 如何将Unicode转换为表情符号?

如果我在控制台中使用"\u{1F923}",它将返回一个表情符号,但是如果我使用"\u{"+ data[0] +"}",则将返回一个错误。谁能帮我将Unicode转换为表情符号。

3 个答案:

答案 0 :(得分:1)

表情符号是unicode的子集。没有必要将unicode转换为表情符号。只需将数组更改为

File> Settings> Build, Execution, Deployment> Compiler> Command-line Options

如果您输入的是十六进制数字,则可以使用

var data = ["\u{1F923}", "\u{1F603}"]

在HTML中,您还可以使用HTML十六进制实体

String.fromCodePoint(parseInt ("1F923", 16))

答案 1 :(得分:0)

const unicode = ["1f47f", "1f601", "1f60b", "1f62c", "1f9d0", "1f47f", "1f600", "1f601", "1f602", "1f603", "1f604", "1f605", "1f606", "1f607", "1f608", "1f609", "1f60a", "1f60b", "1f60c", "1f60d", "1f60e", "1f60f", "1f610", "1f611", "1f612", "1f613", "1f614", "1f615", "1f616", "1f617", "1f618", "1f619", "1f61a", "1f61b", "1f61c", "1f61d", "1f61e", "1f61f", "1f620", "1f621", "1f622", "1f623", "1f624", "1f625", "1f626", "1f627", "1f628", "1f629", "1f62a", "1f62b", "1f62c", "1f62d", "1f62e", "1f62f", "1f630", "1f631", "1f632", "1f633", "1f634", "1f635", "1f636", "1f637", "1f641", "1f642", "1f643", "1f644", "1f910", "1f911", "1f912", "1f913", "1f914", "1f915", "1f917", "1f922", "1f923", "1f924", "1f925", "1f927", "1f928", "1f929", "1f92a", "1f92b", "1f92c", "1f92d", "1f92e", "1f92f", "1f970", "1f973", "1f974", "1f975", "1f976", "1f97a", "2639", "263a"]


unicode.forEach((val) => {
  document.body.innerHTML += String.fromCodePoint(parseInt(val, 16))
});

答案 2 :(得分:0)

您可以使用此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));
  });
}