android - 从字符UTF-16获取表情unicode

标签 android unicode emoticons

我需要拦截一个表情入口,改成自己的表情。 当我截取表情符号时,例如“带有医用口罩的脸(\U+1F604)”,我得到一个UTF-16字符(0xD83D 0xDE04),是否可以将此字符值转换为unicode值?

我需要将 0xD83D 0xDE04 转换为\u1f604。

谢谢

最佳答案

I get an UTF-16 char (0xD83D 0xDE04), Is it possible to convert this char value to the unicode value?

对于字符串中的单个代码点,您可以使用以下方法将其转换为整数:

int codepoint = "\uD83D\uDE04".codePointAt(0);  // 0x1F604

然而,用codePointCount/codePointAt检查整个字符串是相当乏味的。 Java/Dalvik 的 String 类型与 UTF-16 代码单元紧密相关,而 codePoint 方法是一个集成不良的事后想法。如果您只是希望用其他字符串替换表情符号,那么您最好使用字符串类型中出现的两个代码单元进行纯字符串替换或正则表达式,例如 text.replace("\uD83D\uDE04", ":-D")

(顺便说一句,戴医用口罩的脸是U+1F637。)

关于android - 从字符UTF-16获取表情unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20689645/

相关文章:

git - 如何从我的 Github 提交中删除表情符号?

java - 当只有 1 条数组数据(自己的数据类)时,如何从数组中选择数据

windows - 如何在 Linux 中使用 POSIX 方法从文件中读取 Unicode-16 字符串?

MySQL 插入和 unicode 字符

r - 如何编写自定义的removePunctuation()函数以更好地处理Unicode字符?

wpf - 从在 wpf 中显示图像的 Richtextbox 复制表情符号 "text"

javascript - 使用 jQuery 将表情符号插入 div 中

java - Android - 使用具有静态方法的帮助器类动态注册/取消注册接收器?

java - 为什么这个简短的套接字代码示例会生成损坏的文件?

php - 如何从 Android 版 MySQL 获取图像