我想在我的iOS和安卓应用程序中使用表情符号。我检查了表情符号这里的列表,它列出了表情符号的十六进制代码。当我尝试直接使用十六进制代码(如U+1F600 )时,我看不到应用程序中的表情符号。我找到了另一种表示表情符号的方法,它看起来像\uD83D\uDE00。当使用这种符号时,在应用程序中可以看到表情符号,而没有任何额外的代码。我认为这是一个用于表情符号的Unicode字符串。我认为这更像是一个特定于表情符号的一般性问题。如何将表情符号十六进制代码转换为Unicode字符串,如上面所示。我没有找到任何列出该表情符号的Unicode的列表。
发布于 2017-02-06 06:29:14
看起来你的问题实际上是“我如何显示一个字符,知道它的代码点吗?”
事实证明,这个问题相当依赖于语言!现代语言在这方面没有什么问题。在Swift中,我们这样做:
$ swift
Welcome to Apple Swift version 3.0.2 (swiftlang-800.0.63 clang-800.0.42.1). Type :help for assistance.
1> "\u{1f600}"
$R0: String = ""在JavaScript中,这是相同的:
$ node
> "\u{1f600}"
''在Java中,您必须做更多的工作。如果您想直接使用代码点,可以这样说:
new StringBuilder().appendCodePoint(0x1f600).toString();序列"\uD83D\uDE00"也适用于所有三种语言。这是因为这些“字符”实际上是Unicode所称的代理,当它们以某种方式组合在一起时,它们代表一个字符。所有这些工作的细节可以在许多地方的网络上找到(寻找UTF-16编码)。算法就在那里。简单地说,您取代码点,减去10000十六进制,然后将差额的20位展开如下:110110xxxxxxxxxx110111xxxxxxxxxx。
但是,如果您的语言支持得很好,就应该直接使用代码点,而不是担心这种翻译。您还可以将表情符号字符复制到一个好的文本编辑器中(确保编码设置为UTF-8)。如果您需要使用代理程序,最好的方法是查找一个Unicode图表,该图表显示所谓的"UTF-16编码“。
发布于 2019-08-09 11:40:25
在Delphi中,#$1F600相当于#55357#56832或D83D DE04微笑。
在程序中,我使用它的方式如下:
const smilepage : array [1..3] of WideString =(#$1F600,#$1F60A,#$2764);发布于 2020-01-17 18:35:54
JavaScript -双向
let hex = "".codePointAt(0).toString(16)
let emo = String.fromCodePoint("0x"+hex);
console.log(hex, emo);
https://stackoverflow.com/questions/42061358
复制相似问题