in src/main/java/org/apache/commons/mail/EmailUtils.java [281:310]
static String encodeUrl(final String input)
{
if (input == null)
{
return null;
}
final StringBuilder builder = new StringBuilder();
for (final byte c : input.getBytes(StandardCharsets.US_ASCII))
{
int b = c;
if (b < 0)
{
b = 256 + b;
}
if (SAFE_URL.get(b))
{
builder.append((char) b);
}
else
{
builder.append(ESCAPE_CHAR);
final char hex1 = Character.toUpperCase(Character.forDigit(b >> 4 & 0xF, RADIX));
final char hex2 = Character.toUpperCase(Character.forDigit(b & 0xF, RADIX));
builder.append(hex1);
builder.append(hex2);
}
}
return builder.toString();
}