1

我需要匹配我的服务器的 oauth 签名基础,它在签名之前对所有内容进行编码。

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

为他们编写我自己的实用程序并不难,但如果不需要手动更改,那就太好了。是否已经有一个实用程序?

4

1 回答 1

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;
}
于 2012-04-13T17:02:41.457 回答