2016-04-10 7 views
1

Ich verwende Retrofit 1.9 und versuche, Daten von Yahoo API abzurufen. Da der REST Query-Link dort angegeben ist, wo alle Leerzeichen in die ASCII-Werte konvertiert wurden, habe ich eine Zeichenfolge erstellt, die etwa String query = "select%20*%20from" ist und diese als Abfrageparameter übergeben.Escape-Sequenzierung in Abfrageparameter mit Retrofit

Aber wenn die Anfrage gesendet wird, habe ich beobachtet, dass die % in der Verbindung wieder in den entsprechenden ASCII-Wert umgewandelt werden %25 in der Änderung der URL zu select%2520*%2520from führt.

Ich habe versucht, die % in der Zeichenfolge selbst als String query = "select\%20*%20from" zu entkommen Aber ich bin Fehler "Illegal Escape-Zeichen im String Literal" angezeigt.

Ich konnte keine relevante Ressource finden, um dies zu lösen. Ich bin mir nicht sicher, ob dies auch der richtige Ansatz ist. Bitte sagen Sie der Lösung zu diesem Problem und dem richtigen Ansatz (falls es noch andere gibt).

Antwort

0

Werfen Sie einen Blick auf diese Frage. Is a URL allowed to contain a space?. Versuchen Sie also grundsätzlich, den Raum mit einem + -Zeichen zu codieren.

+0

Hat nicht geholfen. Das + ist in% 2B codiert. –