跨平台编码和解码表情符号

Encoding and decoding emoji for cross plateforms

我目前正在开发 android 即时通讯应用程序。它运行良好。我成功地将消息从一个手机发送到另一个手机,从手机发送到 Web application.i 正在使用库编译'com.rockerhieu.emojicon:library:1.3.3' 处理表情符号。使用这个库,我添加了一个表情符号面板。它可以很好地将表情符号从一个手机发送到另一个手机。但是网络应用程序没有收到我发送的表情符号。

截图

正如您在屏幕截图中看到的,Web 应用程序中显示了不同的符号。

移动应用程序的屏幕截图

这是主要问题,我没有在网络应用程序中获取我通过移动应用程序发送的内容。

ChatActivity.java

     public class ChatActivity extends FragmentActivity implements
        EmojiconGridFragment.OnEmojiconClickedListener, EmojiconsFragment.OnEmojiconBackspaceClickedListener {

    EmojiconEditText edMessage = (EmojiconEditText) findViewById(R.id.edtMessage);
 @Override
    public void onEmojiconBackspaceClicked(View view) {
        EmojiconsFragment.backspace(edMessage);
    }

    @Override
    public void onEmojiconClicked(Emojicon emojicon) {
        EmojiconsFragment.input(edMessage, emojicon);
    }

}

请帮我解决这个问题。

通过使用 edMessage.getText().toString().trim() 你可以得到字符串

String 转换为 Unicode

    public static String unicodeEscaped(char ch) {
            if (ch < 0x10) {
                return "\u000" + Integer.toHexString(ch);
            } else if (ch < 0x100) {
                return "\u00" + Integer.toHexString(ch);
            } else if (ch < 0x1000) {
                return "\u0" + Integer.toHexString(ch);
            }
            return "\u" + Integer.toHexString(ch);
        }

        String unicode = "";
       String text = _msgEditText.getText().toString().trim();
       for (int i = 0; i < text.length(); i++) {
       unicode = unicode+Constant.unicodeEscaped(text.charAt(i));
                            }
text = unicode;

解码可以使用common-lang.jar文件。
请参考linkClick here

_msgString = StringEscapeUtils.unescapeJava(_msgString); // for decoding unicode to string or for similar language