05-16 14:29:16.935: W/System.err(20981): java.lang.NumberFormatException:
unable to parse '��������������������' as integer
Это довольно много сообщение об ошибке мой Android приложение показывает, когда он должен получить 10-байтовый длинную строку (которая показана в 20 различных байтов в сообщении об ошибке.Почему моя строка не перемещается правильно через розетки?
BufferedReader in = new BufferedReader(
new InputStreamReader(client.getInputStream(), "UTF-8"));
BufferedWriter out = new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream(), "UTF-8"));
^^ I добавлено UTF-8.
String count = String.format("%10s",
(new Integer(result.length())).toString()).replace(" ", "0");
Это, как я получить строку, которую я посылаю, и это работает прекрасно, как это показывает правильно на бревне стороны ПК.
Однако на стороне Android это не получено правильно.
BufferedReader in = new BufferedReader(
new InputStreamReader(client.getInputStream(), "UTF-8"));
CharBuffer buf = CharBuffer.allocate(1024*1024);
in.read(buf);
char[] buffer = new char[10];
buf.get(buffer, 0, 10);
cont = Integer.parseInt(new String(buffer));
Вот как я возвращаю строку, и она работает некорректно. Может ли кто-нибудь с большим опытом помочь мне понять, почему это не работает?
Вы кодируете и декодируете строку с использованием того же набора символов с обеих сторон? – mcfinnigan
Может быть, проблема с кодировкой? –
Я не уверен, я ничего не редактировал, связанный с кодировками с обеих сторон. – Bogdacutu