Кодировка / декодирование массива байтов Android - PullRequest
1 голос
/ 14 июля 2011

Я использую кодировку UTF-8, чтобы попытаться отправить массив байтов из моего приложения для Android на мой сервер .NET.

В своем коде затмения (java) я получаю массив байтов из своей базы данных, затем яперед отправкой на сервер преобразуйте ее в строку UTF-8.

byte[] b = db.getMyByteArray();
try 
{
s = new String(b, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}

У меня нет проблем с отправкой данных.Он попадает на мой сервер через HTTP POST, и я использую следующий код c #, чтобы попытаться преобразовать строку обратно в байтовый массив.

Byte[] bytesUTF8 = System.Text.Encoding.UTF8.GetBytes(x.Signature);

Однако после сравнения байтов они не совпадают.

Что-то я не так делаю?Нужно ли использовать другой метод для отправки байтовых массивов на мой сервер?

Ответы [ 2 ]

0 голосов
/ 14 июля 2011

Я понял свой вопрос.Решением было отправить байтовый массив в виде массива JSON вместо того, чтобы пытаться преобразовать его в строку.

0 голосов
/ 14 июля 2011

Проверьте классы java.nio.charset.CharsetEncoder и java.nio.charset.Charset.

Barry

...