gpt4 book ai didi

java - 如何解码字符串?

转载 作者:行者123 更新时间:2023-12-02 05:52:14 24 4
gpt4 key购买 nike

嗨,我正在尝试获取一个网址,通过该网址我可以获取一个字符串,我正在尝试解码该字符串,但整个字符串没有解码,如何解码整个字符串解码

这是我的代码

geturl.jsp

<%

URL url;

try {
// get URL content

String a = "http://122.160.81.37:8080/mandim/MarketWise?m=agra";
url = new URL(a);
URLConnection conn = url.openConnection();
// open the stream and put it into BufferedReader
BufferedReader br = new BufferedReader(
new InputStreamReader(conn.getInputStream()));

StringBuffer sb = new StringBuffer();
String inputLine;
while ((inputLine = br.readLine()) != null) {
String str = new String(inputLine.getBytes(), "utf-8");
out.println(str);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
%>

我得到以下输出

धान~1325|चावल~2050|ज�?वर~920|जौ~810|मकई~1280|गेहू�?~1420|जो~1050|बेजर~-|जय~800|उड़द~3600|मूंग~4400|चाना~3400|मटर~2700|अरहर~4100|मसूर~2000|लोबिया(बीज)~-|सोयाबीन~-|ढे�?चा(बीज)~-

我在这里得到一些?符号

所需输出

धान~1325|चावल~2050|ज्वर~920|जौ~810|मकई~1280|गेहूँ~1420|जो~1050|बेजर~-|जय~800|उड़द~3600|मूंग~4400|चाना~3400|मटर~2700|अरहर~4100|मसूर~2000|लोबिया(बीज)~-|सोयाबीन~-|ढेँचा(बीज)~-

如何获得我想要的输出?

提前致谢

最佳答案

如果您可以假设编码是“UTF-8”,则使用@Joni 的解决方案。

但技术上更正确的解决方案是:

  1. 使用 conn.getHeaderField("content-type") 提取响应媒体类型,
  2. 提取charset参数(如果有),并且
  3. 使用它作为解码响应输入流的字符集。

同时,您应该检查媒体类型是否是您所期望的,并检查响应状态代码。

引用文献:

关于java - 如何解码字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23440650/

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