java - Java / Scala - 从 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)
}
推荐阅读
- angular - 如何让不同的 pages/views.cshtml 呈现独特的组件/指令?
- javascript - 使用图表js时如何更改图表中的颜色文本
- python - 在 QPlainTextEdit() 中禁用回车(按 Enter 键)
- c# - 禁用 HttpTrigger Azure 函数上的属性或应用程序设置不起作用
- android - 使用 SpannedgridLayoutManager 后,recyclerView 从顶部占用大量空间
- java - 对于 Git 文件系统层来说,具有根每次提交的单个 JSR203 存储是否是合理的设计?
- java - Hive:无法为 HDFS 中的现有数据创建外部表
- javascript - Eclipse在 html 文件中注释 javascript 代码时应用不正确
- python - 如何用 pytest 编写正确的测试?
- javascript - 是否可以在 javascript 中使用 NPM(由 angular 8 制作并转换为 NPM 的模块)甚至是原生反应?