【发布时间】:2016-03-26 07:12:32
【问题描述】:
我一直在尝试完成从我的 Android 应用程序到我的 C# 服务器(asmx 服务器)的简单文本传输,发送最简单的字符串 - 但由于某种原因它永远无法正常工作。我的 Android 代码如下(假设变量“消息”保存从 EditText 接收的字符串,就我而言,它是 UTF-16):
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,所以我得到了很多问号。
编辑:现在我正在寻找一些转换解决方案并尝试它们,但我的问题也是是否有更简单的方法可以做到这一点(也许是 android 中的 BinaryBody 或不同的编码?)
【问题讨论】: