gpt4 book ai didi

java - 在客户端和服务器之间将字符串转换为 byte[] 并返回字符串

转载 作者:行者123 更新时间:2023-12-02 00:21:15 25 4
gpt4 key购买 nike

我正在将文本发送到网络服务,但首先转换为字节,并在服务器端接收后我想将字节更改回字符串。我已经能够转换为字节,但无法转换回字符串。我看过很多关于 SO 的教程,但到目前为止似乎都不起作用。

这是客户端应用程序

try {   
String text = "holiday";
byte[] byte_text = text.getBytes();
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet();
URI link = new URI("http://192.165.1.3:8080/HelloWorld/hello?text="+byte_text);
request.setURI(link);
HttpResponse response = client.execute(request);

} catch (Exception e1) {
e1.printStackTrace();
}

这是我在客户端所做的事情

    byte[] why = req.getParameter("text").getBytes();
String text = new String(why);
System.out.println(text);

当我调用 getbyte 和 new String 函数时,我尝试使用 UTF 和 ASCII 编码,但我仍然得到像这样的字节结果 [B@405c0ce0

最佳答案

当执行"http://192.168.0.3:8080/HelloWorld/hello?text="+ byte_text时,会调用toString()方法字节数组将其转换为字符串,并将该字符串附加到 URL。 byte[]toString() 方法返回 "[B@",后跟对象的哈希码。

也就是说,你的代码确实没有任何意义。您有一个字符串并希望将其附加到 URL。将字符串转换为字节数组,然后将字节数组转换回字符串有什么意义?

有意义的是使用java.net.URLEncoder来确保所有特殊字符都被正确编码,并且编码结果可以安全地作为查询字符串参数附加.

关于java - 在客户端和服务器之间将字符串转换为 byte[] 并返回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10930117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com