Quiero leer cadenas UTF-8 de un servidor del que tengo control, usando Java MIDP. Mi servidor está enviando datos UTF-8. El siguiente código se acerca:Lectura de cadenas UTF8 desde un servidor a través de http utilizando MIDP
c = (StreamConnection) Connector.open(
myServer, Connector.READ_WRITE);
InputStream is = c.openInputStream();
StringBuffer sb = new StringBuffer();
int ch;
while((ch = is.read()) != -1)
sb.append((char)ch + "->" + ch + "\n");
puedo imprimir el carbón y su código para fines de depuración. Creo que está leyendo caracteres ASCII aquí, entonces, cuando tengo un char que tiene su código por encima de 127, obtengo dos caracteres, como los dos ejemplos siguientes:
letra á. Código UTF E1 (hex). Obtengo 195 y luego 161
letra ô. Código UTF F4 (hex). Obtengo 195 y luego 180
Mi pregunta es, ¿hay alguna manera de leer los caracteres UTF directamente? He encontrado algunas soluciones en la web pero ninguna se ajusta al MIDP.
Simplemente perfecto. ¡Gracias! –
Gracias por la gran respuesta me ayudó mucho. Un pequeño comentario, en esta fila: 'Reader r = InputStreamReader (c.openInputStream()," UTF-8 ");', solo funciona para mí si lo uso de esta manera: 'Reader r = new InputStreamReader (c .openInputStream(), "UTF-8"); 'De nuevo gracias !!!! –