Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
25
Task/URL-encoding/Java/url-encoding-3.java
Normal file
25
Task/URL-encoding/Java/url-encoding-3.java
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
String encode(String string) {
|
||||
StringBuilder encoded = new StringBuilder();
|
||||
for (char character : string.toCharArray()) {
|
||||
switch (character) {
|
||||
/* rfc3986 and html5 */
|
||||
case '-', '.', '_', '~', '*' -> encoded.append(character);
|
||||
case ' ' -> encoded.append('+');
|
||||
default -> {
|
||||
if (alphanumeric(character))
|
||||
encoded.append(character);
|
||||
else {
|
||||
encoded.append("%");
|
||||
encoded.append("%02x".formatted((int) character));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return encoded.toString();
|
||||
}
|
||||
|
||||
boolean alphanumeric(char character) {
|
||||
return (character >= 'A' && character <= 'Z')
|
||||
|| (character >= 'a' && character <= 'z')
|
||||
|| (character >= '0' && character <= '9');
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue