如何在Java字符串中插入表情符号?

时间:2018-11-07 17:48:38

标签: java string emoji

我正在尝试制作一个打印表情符号的程序。但是,它不允许我在SDK中插入表情符号,并且\u不允许使用足够的字符来使用表情符号。有没有简单的方法可以做到这一点?

所有在线解决方案似乎都指向StringBuffer。没有StringBuffer,有没有办法做到这一点?如果没有,我将如何使用它?

2 个答案:

答案 0 :(得分:0)

可以使用Unicode surrogate pair而不使用StringBuilder来完成此操作:

  

代理字符通常称为代理对。   它们是两个字符的组合,包含一个代码   点。为了简化代理对的检测,使用Unicode   标准已保留从U + D800到U + DFFF的范围以供使用   UTF-16。没有字符分配给该范围内的代码点值。   当程序看到位序列落入该范围时,它们会   立即-压缩!邮编!—知道他们遇到了代理人   对。

     

此保留范围由两部分组成:

     
      
  • 高替代-U + D800到U + DBFF(总共1,024个代码点)
  •   
  • 低替代-U + DC00到U + DFFF(共1,024个代码点)
  •   

以下内容将显示外星人外星表情符号():

int[] surrogates = {0xD83D, 0xDC7D};
String alienEmojiString = new String(surrogates, 0, surrogates.length);
System.out.println(alienEmojiString);
System.out.println("\uD83D\uDC7D");   // alternative way

答案 1 :(得分:0)

如果您正在寻找使用SNS发送服务器端通知的方法,则可以进行以下操作

String context = "You can eat water too! ";
        context += new String(Character.toChars(0x1F349));

various emoji unicodes