Java / Scala - 从 Hexacode 获取表情符号
Java / Scala - Get emojis from Hexacode
假设我有一个表情符号的六进制代码,我怎样才能从中生成完整的表情符号。如果它是我能够生成的单个十六进制代码如下:
val str1 = "1F471"
val hex = Integer.parseInt(str1, 16)
println(new String(Character.toChars(hex)))
他的版画。但是,如果我想用第二个组件即 1F3FF 给出的肤色打印完整的表情符号,需要做什么?
val str = "1F471 1F3FF"
val parts = str.split(" ").map(x => Integer.parseInt(x, 16))
println(mergeEmojis(new String(Character.toChars(parts(0))), new String(Character.toChars(parts(1)))))
// how can mergeEmojis() be implemented?
按照@Ackdari 的建议,连接字符有效
// method to convert array of emoji codes to emoji string
private def toEmoji(hexCodes: Array[Int]): String = {
var emojiCharsCombined: Array[Char] = Array.emptyCharArray
hexCodes.foreach(emojiComponent => {
val emojiChars: Array[Char] = Character.toChars(emojiComponent)
emojiCharsCombined = concat(emojiCharsCombined, emojiChars)
})
new String(emojiCharsCombined)
}
假设我有一个表情符号的六进制代码,我怎样才能从中生成完整的表情符号。如果它是我能够生成的单个十六进制代码如下:
val str1 = "1F471"
val hex = Integer.parseInt(str1, 16)
println(new String(Character.toChars(hex)))
他的版画。但是,如果我想用第二个组件即 1F3FF 给出的肤色打印完整的表情符号,需要做什么?
val str = "1F471 1F3FF"
val parts = str.split(" ").map(x => Integer.parseInt(x, 16))
println(mergeEmojis(new String(Character.toChars(parts(0))), new String(Character.toChars(parts(1)))))
// how can mergeEmojis() be implemented?
按照@Ackdari 的建议,连接字符有效
// method to convert array of emoji codes to emoji string
private def toEmoji(hexCodes: Array[Int]): String = {
var emojiCharsCombined: Array[Char] = Array.emptyCharArray
hexCodes.foreach(emojiComponent => {
val emojiChars: Array[Char] = Character.toChars(emojiComponent)
emojiCharsCombined = concat(emojiCharsCombined, emojiChars)
})
new String(emojiCharsCombined)
}