a %-encoded string containing attribute=value parameters
the length of params, or -1 if it is nul-terminated
the separator byte character set between parameters. (usually &, but sometimes ; or both &;). Note that this function works on bytes not characters, so it can't be used to delimit UTF-8 strings for anything but ASCII characters. You may pass an empty set, in which case no splitting will occur.
flags to modify the way the parameters are handled.
Initializes an attribute/value pair iterator.
The iterator keeps pointers to the params and separators arguments, those variables must thus outlive the iterator and not be modified during the iteration.
If G_URI_PARAMS_WWW_FORM is passed in flags, + characters in the param string will be replaced with spaces in the output. For example, foo=bar+baz will give attribute foo with value bar baz. This is commonly used on the web (the https and http schemes only), but is deprecated in favour of the equivalent of encoding spaces as `20`.
Unlike with glib.uri.Uri.parseParams, G_URI_PARAMS_CASE_INSENSITIVE has no effect if passed to flags for glib.uri_params_iter.UriParamsIter.init_. The caller is responsible for doing their own case-insensitive comparisons.