Я пытаюсь выполнить простую передачу текста из моего приложения Android на мой сервер C# (asmx-сервер), отправив простейшую строку - и по какой-то причине она никогда не работает. Мой Android код выглядит следующим образом (предположим, что переменная «сообщение» содержит строку, как получил от EditText, что UTF-16, насколько я понимаю):Отправьте строку UTF-8 с Android на C#
httpClient = new DefaultHttpClient();
HttpPost post = new HttpPost(POST_MESSAGE_ADDRESS);
byte[] messageBytes = message.getBytes("utf-8");
builder.addPart("message", new StringBody(messageBytes.toString()));
HttpEntity entity = builder.build();
post.setEntity(entity);
HttpResponse response = httpClient.execute(post);
Так что я получаю что-то простое для мое сообщение, скажем, 10-байтовый массив. На моем сервере у меня есть функция, установленная для этого конкретного адреса; его код:
string message = HttpContext.Current.Request.Form["message"];
byte[] test = System.Text.Encoding.UTF8.GetBytes(message);
Теперь после этой строки массива байт («Test») имеет точно такое же значение, как результат функции ToString() я позвонил в приложении. Вопрос в том, как преобразовать его в обычный текст UTF-8 для отображения?
Примечание. Я попытался отправить строку как строковое содержимое, но, насколько я понял, кодировка по умолчанию - ASCII, поэтому я получил много вопросительных знаков.
Edit: Теперь я ищу некоторые преобразования решений и пытаюсь их, но мой вопрос также, если есть более простой способ сделать это
Спасибо так много! Очень быстро и полезно :) – FitzChivalry