Как преобразовать строку в unicode в android

Я разбираю некоторые unicodes от json до моего приложения android , api дает unicodes таких значков, как \ue600 Когда я добавляю этот unicode прямо в textview например textview.setText("\ue600"); Он дает правильный значок в textview . Но когда я разбираю этот юникод из json api а затем setText который unicode он просто отображает \ue600 на textview . Как я разбираю или конвертирую эти строки в unicodes чтобы получить значки в textview .

благодаря

Конвертируйте свой unicode в этот формат  & Затем используйте это в textview textview.setText(Html.fromHtml(your_unicode_here)); Он должен работать.

Следующие работы отлично подходят для меня.

 String unicode = "\u0048\u0065\u006C\u006C\u006F"; String Title = StringEscapeUtils.unescapeJava(unicode); System.out.println(Title); 

И добавьте зависимость: compile 'commons-lang:commons-lang:2.6' в файле build.gradle .

StringEscapeUtils выполняет большую часть работы, но только до HTML4. Для не охваченных символов вы можете создать свой собственный класс и добавить по мере необходимости. Вот пример класса

 public class HTMLDecoder { public static String decodeHTML(String html) { String out = StringEscapeUtils.unescapeHtml4(html); out = out.replaceAll("®", "®"); out = out.replaceAll("â\u0084¢", "™"); return out; } } 

Добавить в build.bradle

 compile 'org.apache.commons:commons-lang3:3.0' 

Как вы разбираете данные JSON? Если вы используете Gson , вы можете использовать метод GsonBuilder.disableHtmlEscaping () для отображения правильных символов вместо их кода.

 textview.setText(Html.fromHtml(UNICODE_CHARS));