20 package net.sf.gridarta.model.filter;
22 import org.jetbrains.annotations.NotNull;
40 public static void encodeString(@NotNull
final StringBuilder sb, @NotNull
final String
string) {
41 for (
final char ch :
string.toCharArray()) {
42 if (ch ==
'%' || ch ==
',' || ch ==
')' || ch ==
'=' || Character.isISOControl(ch)) {
43 sb.append(String.format(
"%%%04X", (
int) ch));
60 public static String
decodeString(@NotNull
final StringBuilder sb) {
61 final StringBuilder result =
new StringBuilder();
62 while (sb.length() > 0) {
63 final char ch = sb.charAt(0);
64 if (ch ==
',' || ch ==
')' || ch ==
'=') {
68 result.append((
char) Integer.parseInt(sb.substring(1, 5), 16));
75 return result.toString();