[英]Convert String received from C to Java String
我想转换从C发送的字符串,并在Java中将其作为字符串值接收。
这是我在C中发送字符串的代码。
strcpy(buffer,"hello");
send(clientSocket,buffer,4096,0);
和我的代码来接收Java中的字符串。
BufferedReader in = new BufferedReader(new InputStreamReader(LoginActivity.getSocket().getInputStream()));
String str = in.readLine();
但是,当我敬酒时,str值以奇怪的符号出现。 我该如何解决?
你应该改变
send(clientSocket,buffer,4096,0);
至
send(clientSocket,buffer,strlen(buffer)+1,0);
这样,您只发送字符串,而不发送整个缓冲区。
而且我认为
in.readLine()
挂起期待不是字符串发送的换行符。
您应该使用InputStreamReader(InputStream in, String charsetName)
构造函数版本,并传递用于在C中创建文本的charsetName
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.