При попытке использовать Bing API для поиска я получаю символы, которые не подлежат печати, и, похоже, не содержат никакой дополнительной информации. Цель состоит в том, чтобы сохранить ответ XML (UTF-8) в виде текстового файла, который будет разбираться позже.Отменить непечатаемые символы, возвращенные в ответе XML сервера
Мой код в настоящее время выглядит следующим образом:
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();
Когда я посылаю содержимое «ул» утешать это выглядит примерно так:
и вот что недавно созданный локальный файл XML выглядит так:
Что мне делать, чтобы преобразовать текст UTF-8, чтобы у str не было дополнительных символов?
это ошибка перекодирования; используйте синтаксический анализатор XML или определите кодировку перед декодированием в строку: http://www.w3.org/TR/REC-xml/#sec-guessing Я предполагаю, что вам нужна строка - если вы просто хотите сохранить файл локально, чтение и запись байтов. – McDowell
@McDowell Я закончил чтение и запись байтов непосредственно в файл. Использование String было ограничено самостоятельно. Благодаря! – Penang