使用BASE64编码器对包含原始字符的字符串进行编码

时间:2012-04-14 04:09:18

标签: java base64

我要发送的字符串包含#因此,在服务器中只收到最多#的字符串。我应该如何在客户端使用BASE64Encoder来编码String。请记住我有一个包含#的字符串。以及如何在服务器中解码它?

2 个答案:

答案 0 :(得分:2)

为此目的使用URLEncoderURLDecoder类。

String urlParam = URLEncoder.encode(param);

...

String param = URLDecoder.decode(urlParam);

答案 1 :(得分:1)

看起来您在查询字符串中传递了非url编码的参数。你不需要Base64,只需要url-encode。

请参阅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();