The string returned by :getQueryString() is not URL encoded. Only the query string contained in the message sent to the server is URL encoded.
Method HttpRequestMessage() :getQueryString() Foundation
Gets the HTTP query string.
:getQueryString() --> cQueryString
:getQueryString() returns a character string containing name/value pairs representing the parameters in the query string. The string has the form name1=value1&name2=value2&....&nameN=valueN, where name1 is the name of the first HTTP parameter, and value1 is the first parameter's value. The individual parameters are separated with an Ampersand (&) character.
:getQueryString() returns the HTTP query string that is sent with the request to the remote server. The HTTP parameters encoded in the query string can also be obtained directly using the methods :getParameter() (get an individual parameter) and :getParameters() (get all parameters).
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.