2012-04-14 6 views
0

Die Zeichenfolge, die ich senden möchte, enthält , deshalb wird im Server nur die Zeichenfolge bis # empfangen. Wie sollte ich BASE64Encoder auf der Client-Seite verwenden, um den String zu codieren. Bedenken Sie, dass ich eine Zeichenfolge habe, die # enthält. Und wie man es im Server dekodiert?
Verwenden von BASE64 Encoder zum Codieren einer Zeichenfolge mit rohen Zeichen

+1

[BASE64 codiert charset] (http://www.garykessler.net/library/base64.html) nicht über die Nummernzeichen (#) Zeichen . Sie können also jede Zeichenfolge mit # Zeichen in eine BASE64-codierte Version konvertieren, in der letztere keine # enthält. Zum Beispiel wird die Klartextzeichenfolge '# 123' in BASE64-kodierter Form 'IzEyMw ==' sein. Führen Sie dies auf der Client-Seite durch. Auf der Serverseite sollte es die BASE64-codierte Zeichenfolge wieder in ihre Klartextzeichenfolgenversion decodieren. – ecle

+0

Base64 codiert eine beliebige Bytefolge. Was auch immer Ihr Problem ist, es kodiert nicht das '#' Zeichen. –

Antwort

2

Verwenden URLEncoder und URLDecoder Klassen für diesen Zweck.

String urlParam = URLEncoder.encode(param); 

....

String param = URLDecoder.decode(urlParam); 
+0

danke, es funktioniert jetzt. Aber was war das Problem ursprünglich? Und was macht URLEncoder? – Ashwin

+0

Entschuldigung für die Annahme Ihrer Antwort. Siehe meine Frage. Ich habe es mit dem Problem bearbeitet. – Ashwin

+0

: Es tut mir leid, dass Ihr Code jetzt plötzlich funktioniert. Ich weiß nicht, was das Problem war, aber dann war der Unterschied sichtbar. Jetzt geht es prima! – Ashwin

1

Offenbar übergeben Sie nicht urlcodierte Argumente in Abfragezeichenfolge. Sie brauchen nicht Base64 dafür, nur URL-Codierung.

Siehe HTTP URL Address Encoding in Java:

URI uri = new URI( 
     "http", 
     "www.google.com", 
     "/ig/api", 
     "weather=São Paulo#123", 
     null); 
String request = uri.toASCIIString(); 
+0

Was sollte der entsprechende Befehl im Server sein, um die ursprüngliche Zeichenfolge zu erhalten? – Ashwin

Verwandte Themen