in aliyun-sdk-opensearch/src/main/java/com/aliyun/opensearch/util/URLEncoder.java [151:184]
private static String encodeBytes (final byte[] s)
{
final StringBuffer sbuf = new StringBuffer();
final int len = s.length;
for (int i = 0; i < len; i++)
{
final int ch = (s[i] & 0xff);
if ('A' <= ch && ch <= 'Z')
{ // 'A'..'Z'
sbuf.append((char) ch);
}
else if ('a' <= ch && ch <= 'z')
{ // 'a'..'z'
sbuf.append((char) ch);
}
else if ('0' <= ch && ch <= '9')
{ // '0'..'9'
sbuf.append((char) ch);
}
else if (ch == '-' || ch == '_' // unreserved
|| ch == '.' || ch == '!'
|| ch == '~' || ch == '*'
|| ch == '\'' || ch == '('
|| ch == ')')
{
sbuf.append((char) ch);
}
else
{ // other ASCII
sbuf.append(hex[ch]);
}
}
return sbuf.toString();
}