我需要将服务器的签名库与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;
}
关于java - Uri对所有内容进行编码,包括未保留的字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10128258/