я получаю UTF-16 символ (0xD83D 0xDE04) Можно ли преобразовать это значение обугленного к значению Юникода?
Для только одной кодовой точки в строке, вы можете преобразовать его в целое число с:
int codepoint = "\uD83D\uDE04".codePointAt(0); // 0x1F604
Это, однако, довольно утомительно идти на целую строку с codePointCount
/codePointAt
. Тип String Java/Dalvik сильно привязан к кодовым единицам UTF-16, а методы codePoint - плохо интегрированные запоздалые идеи. Если вы просто надеетесь заменить emoji какой-либо другой строкой символов, вам, вероятно, лучше всего сделать замену простой строки или регулярное выражение с помощью двух блоков кода, как они появляются в типе String, например text.replace("\uD83D\uDE04", ":-D")
.
(BTW лицо с медицинской маской U + 1F637.)