我需要匹配我的服务器的 oauth 签名基础,它在签名之前对所有内容进行编码。
使用 Uri.encode 而不是 Urlencoder.encode(base, UTF-8) 对空格和 + 进行正确编码,但是我还需要对未保留字符 ("_-!.~'()*") 进行编码。
为他们编写我自己的实用程序并不难,但如果不需要手动更改,那就太好了。是否已经有一个实用程序?
原来只有几个字符需要额外的编码。对于大众:
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;
}