Beim Versuch, die Bing-API zum Suchen zu verwenden, erhalte ich Zeichen, die nicht druckbar sind und keine zusätzlichen Informationen enthalten. Das Ziel besteht darin, die XML-Antwort (UTF-8) als eine Textdatei zu speichern, die später analysiert wird.Nicht druckbare Zeichen, die in der XML-Antwort des Servers zurückgegeben werden
Mein Code sieht derzeit so etwas wie folgt aus:
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();
Wenn ich den Inhalt von ‚str‘ senden Sie es etwas zu trösten wie folgt aussieht:
und hier ist ein, was die neu erstellte lokale XML-Datei sieht wie folgt aus:
Was soll ich tun, um den UTF-8-Text zu konvertieren, damit str nicht die zusätzlichen Zeichen enthält?
das ist ein Transcoding-Fehler; benutze einen XML-Parser oder erkenne die Kodierung vor der Dekodierung zu einer Zeichenkette: http://www.w3.org/TR/REC-xml/#sec-guessing Ich nehme an, du brauchst eine Zeichenkette - wenn du nur speichern willst die Datei lokal, lesen und schreiben Bytes. – McDowell
@McDowell Ich habe gelesen und schreiben Bytes direkt in die Datei. Die Verwendung von String war eine selbst auferlegte Einschränkung. Vielen Dank! – Penang