【发布时间】:2011-01-09 08:14:40
【问题描述】:
在尝试使用 Bing API 进行搜索时,我得到了不可打印的字符,并且似乎没有任何额外信息。目标是将 XML (UTF-8) 响应保存为文本文件以供稍后解析。
我的代码目前看起来像这样:
URL url = new URL(queryURL);
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
BufferedWriter out = new BufferedWriter(new FileWriter(query+"-"+saveResultAs));
String str = in.readLine();
out.write(str);
in.close();
out.close();
当我将“str”的内容发送到控制台时,它看起来像这样:
这是新创建的本地 XML 文件的样子:
我应该怎么做才能转换 UTF-8 文本以使 str 没有多余的字符?
【问题讨论】:
-
这是一个转码错误;使用 XML 解析器或在解码为字符串之前检测编码:w3.org/TR/REC-xml/#sec-guessing 我假设您需要一个字符串 - 如果您只想在本地保存文件,读取和写入字节。
-
@McDowell 我最终直接将字节读取和写入文件。使用 String 是自我强加的限制。谢谢!