Uri编码所有内容,包括未保留的字符

时间:2012-04-12 16:59:30

标签: java android encoding utf-8

我需要匹配我的服务器的oauth签名库,在签名之前对百分比进行编码。

使用Uri.encode而不是Urlencoder.encode(base,UTF-8)正确编码空格和+,但我还需要编码未保留的字符(“_-!。〜'()*”)。

为他们编写我自己的实用程序并不困难,但如果不需要手动更改会很好。这已经有了实用工具吗?

1 个答案:

答案 0 :(得分:2)

原来只需要几个字符需要额外的编码。对于群众来说:

public static String encode(String base){
    String encoded = Uri.encode(base);
    encoded = encoded.replace("(", "%28");
    encoded = encoded.replace(")", "%29");
    encoded = encoded.replace("!", "%21");
    encoded = encoded.replace("\'", "%27");
    encoded = encoded.replace("*", "%2A");

    return encoded;
}