2015-02-06 9 views
5

ja parsowania trochę unicodes z json do mojego android aplikacji, API daje unicodes ikon jak \ue600, Kiedy dodać unicode bezpośrednio do textview jak textview.setText("\ue600"); daje właściwą ikonę na textview . ale kiedy parsuję ten kod Unicode z jsonapi &, to I setText to po prostu wyświetla \ue600 na textview. Jak analizować lub konwertować te ciągi znaków na unicodes, aby uzyskać ikony w textview.Jak przekonwertować ciąg znaków w Unicode w android

Dzięki

+0

Próbowałem już tego, ale nic nie działa. – israr

+0

Tak Próbowałem większość Unicode. Wyświetlają one tylko ikonę bezpośrednio, ale nie wyświetlają ikony podczas analizowania z json – israr

+0

, którą uzyskujesz z usługi odpoczynku? jeśli tak, sprawdź swój ciąg db dla włączenia UTF-8 – Muthu

Odpowiedz

4

konwertować unicode w tym formacie  & następnie wykorzystać tak w swojej textviewtextview.setText(Html.fromHtml(your_unicode_here)); Powinien działać.

+0

przez your_unicode_here masz na myśli zakodowaną wartość Unicode lub ciąg, który jest analizowany od json'a – erluxman

+0

twoja_nazwa_na oznacza twój ciąg, który jest parsowany z json. –

1

StringEscapeUtils wykonuje większość pracy, ale to idzie tylko do HTML4. Dla postaci nie objętych możesz stworzyć własną klasę i dodać ją w razie potrzeby. Tutaj jest klasa próbka

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

Dodaj do build.bradle

compile 'org.apache.commons:commons-lang3:3.0' 
0
textview.setText(Html.fromHtml(UNICODE_CHARS)); 
1

Kolejne prace w porządku dla mnie.

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

i dodać zależność: compile 'commons-lang:commons-lang:2.6' w pliku build.gradle.

Powiązane problemy