gpt4 book ai didi

java - 从互联网上读取数据时出现 Double\\

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

我正在从外部服务器读取一些信息,我无法访问该服务器,并且不知道编码,并且在使用 í 等字符时遇到了一些问题。我所做的是使用下面的代码发出 POST 请求,然后解析它。

String response = "";
URL url = new URL(pURL);
URLConnection uc = url.openConnection();
if (sid!=null) uc.setRequestProperty("Cookie", sid);
uc.setDoOutput(true);
OutputStreamWriter osw = new OutputStreamWriter(uc.getOutputStream());
osw.write(request);
osw.flush();
InputStreamReader isr = new InputStreamReader(uc.getInputStream(), "UTF8");
BufferedReader br = new BufferedReader(isr);
String content;
while ((content = br.readLine())!=null){
response += content;
}
br.close();
osw.close();

此时,如果我打印字符串,它会显示 \\,我的意思是,对于 í 而不是出现 \u00ed 出现\\\u00ed 如果我将响应字符串转换为字符数组,我可以看到它没有正确转换,而是分为 6 个字符 \\\\, u, 0, 0、e、d

我尝试更改 InputStreamReader 所在位置的编码,以替换字符和一些正则表达式,但没有任何效果。有人遇到这个问题并且可以帮助我吗?

非常感谢。

最佳答案

不确定为什么响应的格式如此,但您可以使用 StringEscapeUtils\u00ed 字符串转换为 í如下:

String input = "\\u00ed";
String unescaped = StringEscapeUtils.unescapeJava(input);
System.out.println(unescaped);

输出:

í

关于java - 从互联网上读取数据时出现 Double\\,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12109352/

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