7.3.2 如何使用Emoji表情编码

如果要在公众账号后台给用户回复Emoji表情,不能直接在文本消息的content中包含Emoji表情编码,而需要借助下面这行Java代码得到包含指定Unicode代码点的字符串,最后将该字符串作为文本消息内容回复给用户。

  1. String.valueOf(Character.toChars(int codePoint));

其中,Character.toChars(int codePoint)用于将指定的代码点转换为一个或两个UTF-16代码单元再封装为一个char[],String.valueOf(char[]data)用于将char数组转换成字符串。例如,“男性”的Unified编码是U+1F6B9,Softbank编码是U+E138,如果要得到表示“男性”Emoji表情的字符串可以使用下面代码中的任意一行。

  1. String male1 = String.valueOf(Character.toChars(0x1F6B9));
  2. String male2 = String.valueOf(Character.toChars(0xE138));

说明 虽然回复Emoji表情的关键代码只有一行,但它却包含了很多知识。如果读者想要完全弄明白为什么这么做,需要进一步了解Java平台的增补字符。