Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android-发送和接收字节_Java_Android - Fatal编程技术网

Java Android-发送和接收字节

Java Android-发送和接收字节,java,android,Java,Android,我有一个tcp连接,我尝试用字节发送和接收消息,但我不知道它是如何工作的 这是我要发送的代码: public void write(String message) { try { byte[] b = message.getBytes("UTF-8"); writer.write(b.toString()); writer.newLine(); writer.flush(); } catch (IOException

我有一个tcp连接,我尝试用字节发送和接收消息,但我不知道它是如何工作的

这是我要发送的代码:

public void write(String message) {
    try {
        byte[] b = message.getBytes("UTF-8");
        writer.write(b.toString());
        writer.newLine();
        writer.flush();
    } catch (IOException e) {
        Log.e(MainActivity.TAG, "exception", e);
        e.printStackTrace();
    } catch (Exception e) {
        Log.e(MainActivity.TAG, "exception", e);
        e.printStackTrace();
    }
}
这是给你的

String message = client.reader.readLine();
JSONObject json = new JSONObject(message);
我再试一次:

如何将接收到的字节数组转换为mysql数据库的完全unicode字符串?我的数据库使用字符集Utf8m4

这是我的密码

byte[] message = System.Text.Encoding.UTF8.GetBytes(client.reader.ReadLine()); // client.reader.ReadLine() is already a byte[]

string encoded = System.Text.Encoding.UTF8.GetString(message);
JToken token = JObject.Parse(encoded);
我的代码不起作用。我得到:

{"Id":"Test","Content":"hey???"}
如果这是你要问的代码,那是毫无意义的。当然应该是这样

writer.write(message);

目前您正在发送表单的某些内容[B@NNNNNNNNNNN,这是字节数组的哈希代码。

我找到了一个解决方案,感谢@EJP

在java客户端中

writer.write(B64.encode(message)); // message is a string
在C服务器端

string encoded = System.Text.Encoding.UTF8.GetString(message);
JToken token = JObject.Parse(encoded);
为了在数据库中保存字节,我使用blob作为类型

Encoding.UTF8.GetBytes(bluuub)
从数据库中获取字节的步骤

byte[] b = (byte[])reader.GetValue(0);
string bluuub = Encoding.UTF8.GetString(b);

你的问题是什么?我如何在字节数组中发送和接收消息
byte[] b = (byte[])reader.GetValue(0);
string bluuub = Encoding.UTF8.GetString(b);