Как вставить эмодзи в строку Java? - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь создать программу, которая печатает эмодзи. Тем не менее, это не позволит мне вставить эмодзи в SDK, а \u не позволяет достаточному количеству символов использовать эмодзи. Есть ли простой способ сделать это?

Похоже, что все онлайн-решения относятся к StringBuffer. Есть ли способ сделать это без StringBuffer? Если нет, то как бы я использовал это?

Ответы [ 2 ]

0 голосов
/ 15 июля 2019

Если вы ищете отправку серверных уведомлений с использованием SNS, выполните следующие действия

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

различные смайлики

0 голосов
/ 07 ноября 2018

Это можно сделать, не используя StringBuilder, с суррогатной парой Unicode :

Суррогатные символы обычно называются суррогатными парами . Они представляют собой комбинацию из двух символов, содержащих один код точка. Чтобы упростить обнаружение суррогатных пар, Unicode Стандарт зарезервировал диапазон от U + D800 до U + DFFF для использования UTF-16. Никакие символы не назначены значениям кодовой точки в этом диапазоне. Когда программы видят битовую последовательность, попадающую в этот диапазон, они немедленно-молния! Зип! - Знай, что они столкнулись с суррогатом пара.

Этот зарезервированный диапазон состоит из двух частей:

  • Высокие суррогаты - от U + D800 до U + DBFF (всего 1024 кодовых пункта)
  • Низкие суррогаты - от U + DC00 до U + DFFF (всего 1024 кодовых пункта)

Следующее напечатало бы инопланетный инопланетянин эмодзи (?):

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