将表情符号从Android发送到iOS

时间:2017-01-25 14:41:24

标签: android unicode emoji

我需要从Android到iOS发送任何类型的表情符号国旗的unicode(例如\ u1f1e7 \ u1f1ea)。

这是我的代码:

String regexPattern = "[\\ud83c\\udc00-\\ud83c\\udfff]|[\\ud83d\\udc00-\\ud83d\\udfff]|[\\u2600-\\u27ff]"; 

    byte[] utf8 = text.getBytes("UTF-8");

    String string1 = new String(utf8, "UTF-8");

    Pattern pattern = Pattern.compile(regexPattern);
    Matcher matcher = pattern.matcher(string1);
    List<String> matchList = new ArrayList<String>();

    while (matcher.find()) {
        matchList.add(matcher.group());
    }

    for (int i = 0; i < matchList.size(); i++) {
        int unicode = Character.codePointAt(matchList.get(i), 0);
        text = text.replace(StringEscapeUtils.unescapeJava(encodeCodepoint(unicode)), matchList.get(i));
        System.out.println(i + ":" + matchList.get(i));

    }

第一个问题:匹配器未检测到unicode。

第二个问题:如果我直接将unicode StringEscapeUtils.unescapeJava(text)发送到iOS设备,则会收到:u1f1e7u1f1ea。

基本上我正在尝试将国旗emojis发送到iOS设备,但我不能。其他emojis就像面孔一样成功发送。

0 个答案:

没有答案