我需要将服务器的签名库与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/

10-10 03:32