[ Version ( replacement = "URI.normalize" ) ]
public string uri_normalize (string part, string? unescape_extra)
"Unreserved" characters are those that are not allowed to be used for punctuation according to the URI spec. For example, letters are unreserved, so uri_normalize will turn http://example.com/foo/b%61r into http://example.com/foo/bar, which is guaranteed to mean the same thing. However, "/" is "reserved", so http://example.com/foo%2Fbar would not be changed, because it might mean something different to the server.
In the past, this would return
part contained invalid percent-encoding, but now it just ignores the problem
(as URI already did).
a URI part
reserved characters to unescape (or
the normalized URI part