Я создаю приложение для Android, которое включает в себя функцию, в которой пользователь может ввести строку и смайлики (если он этого хочет). Например:
Счастливого Хэллоуина! :Д :Д :Д
Я хочу получить код UTF-8 смайликов, введенных пользователем, поэтому в фоновом режиме это выглядит так:
Счастливого Хэллоуина! U+1F601 U+1F601 U+1F601
Ниже приведен мой код, но он не работает:
class emoticons
{
public static void main(String[] args)
{
Scanner emo = new Scanner(System.in);
System.out.println(emo.nextLine());
Pattern pattern = Pattern.compile("(<U\\+\\w+?>)");
Matcher matcher = pattern.matcher(s);
List<String> matchList = new ArrayList<String>();
while (matcher.find())
{
matchList.add(matcher.group());
}
for(int i=0;i<matchList.size();i++){
System.out.println(matchList.get(i));
}
Итак, в основном, я просто хочу получить код UTF смайликов, нажатых пользователем.
U+1F601
TextView распознает это\u1F601
. Однако имейте в виду, что не все символы Unicode включены в стандартный системный шрифт. Для этого вам нужно прибегнуть к какой-либо библиотеке смайликов или специальному шрифту. - person Phantômaxx   schedule 11.05.2015:)
в один символ Юникода????
, или ваша программа обычно переводит его за вас, а вы об этом не знаете ( таким образом ложно заставили поверить, что:)
≡????
), или ваш пример действительно плох. - person Jongware   schedule 11.05.2015