2012-01-31 29 views
12

Cuando obtuve JSON, entonces hay \ u003c y \ u003e en lugar de < y>. Quiero convertirlos a utf-8 en java. cualquier ayuda será muy apreciada. Gracias.Convierta caracteres UTF-16 unicode a UTF-8 en java

+0

3c y 3e * son * '' <' and '>. ¿Para qué necesitas convertir algo? –

+0

posible duplicado de [Cómo convertir cadenas a y desde matrices de bytes UTF8 en Java] (http://stackoverflow.com/questions/88838/how-to-convert-strings-to-and-from-utf8-byte-arrays -in-java) – zellus

+2

¿Qué analizador JSON estás usando? – McDowell

Respuesta

9
try { 
    // Convert from Unicode to UTF-8 
    String string = "\u003c"; 
    byte[] utf8 = string.getBytes("UTF-8"); 

    // Convert from UTF-8 to Unicode 
    string = new String(utf8, "UTF-8"); 
} catch (UnsupportedEncodingException e) { 
} 

refieren http://www.exampledepot.com/egs/java.lang/unicodetoutf8.html

+0

He usado esta técnica también pero no está funcionando. Devuelve la misma cadena que paso ... aunque funciona en la aplicación de prueba. Debajo está lo que estoy usando. \t public static String unicodeToUTF8 (String unicodeStr) \t \t { \t \t \t // Convertir de Unicode a UTF-8 \t \t \t byte [] UTF8 = unicodeStr.getBytes ("UTF-8"); \t \t \t Cadena UTF8Str = ""; \t \t \t UTF8Str = new Cadena (utf8, "UTF-8"); \t \t \t return UTF8Str; \t } –

+0

funciona en la aplicación de prueba significa que hay algún problema en el código de la aplicación marque la función 'unicodeToUTF8' en su aplicación –

+0

He comprobado esto durante mucho tiempo y tanto en aplicaciones de prueba como en vivo file.encoding es la misma cp1252. ¿Cuáles serían las posibles opciones? –

0

Puede intentar convertir la cadena en una matriz de bytes

byte[] utfString = str.getBytes("UTF-8") ; 

y convertir de nuevo a que un objeto de cadena mediante la especificación de la codificación UTF-8 como

str = new String(utfString,"UTF-8") ;