instead of lowercase ones.
According to RFC 3986,
The uppercase hexadecimal digits 'A' through 'F' are equivalent to
the lowercase digits 'a' through 'f', respectively. If two URIs
differ only in the case of hexadecimal digits used in percent-encoded
octets, they are equivalent. For consistency, URI producers and
normalizers should use uppercase hexadecimal digits for all percent-
encodings.
See https://github.com/stedolan/jq/issues/451 for details.
Test suite and manual are also updated to reflect this change.
Signed-off-by: Nicolas Williams <nico@cryptonector.com>
if (ch < 128 && unreserved[ch]) {
line = jv_string_append_buf(line, s, 1);
} else {
- line = jv_string_concat(line, jv_string_fmt("%%%02x", ch));
+ line = jv_string_concat(line, jv_string_fmt("%%%02X", ch));
}
s++;
}
* `@uri`:
Applies percent-encoding, by mapping all reserved URI
- characters to a `%xx` sequence.
+ characters to a `%XX` sequence.
* `@csv`:
will produce the following output for the input
`{"search":"what is jq?"}`:
- "http://www.google.com/search?q=what%20is%20jq%3f"
+ "http://www.google.com/search?q=what%20is%20jq%3F"
Note that the slashes, question mark, etc. in the URL are
not escaped, as they were part of the string literal.
"\"<>&'\\\"\""
"1,\"<>&'\"\"\""
"<>&'""
-"%3c%3e%26'%22"
+"%3C%3E%26'%22"
"'<>&'\\''\"'"
"PD4mJyI="
@uri
"\u03bc"
-"%ce%bc"
+"%CE%BC"
@html "<b>\(.)</b>"
"<script>hax</script>"