Я разбираю некоторые 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));