I want to read UTF-8 strings from a server that I have control of, using java MIDP. My server is sending UTF-8 data. The following code gets close:
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");
I print the char and its code to debugging purposes. I think it is reading ASCII chars here, so, when I have some char that has its code above 127 then I get two chars, like the two examples bellow:
letter á. UTF code E1 (hex). I get 195 and then 161
letter ô. UTF code F4 (hex). I get 195 and then 180
My question is, is there a way for me to read UTF characters directly. I've found some solutions in the web but none fits to the MIDP.
Reader r = InputStreamReader(c.openInputStream(), "UTF-8");
, It only work for me if I use it this way:Reader r = new InputStreamReader(c.openInputStream(), "UTF-8");
Again thanks!!!! – Hopehopeful