_Roxen.http_decode_string leaves surrogate pairs in resulting string
Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=7653
Reported by Martin Karlgren marty@roxen.com
_Roxen.http_decode_string claims to perform best-effort decoding of %XX and %uXXXX-encoded strings. However, surrogate pairs are passed as-is to the resulting Pike string.
Example:
> _Roxen.http_decode_string("%uD83D%uDE02");
(3) Result: "\ud83d\ude02"
Expected result: "\u1f602"
I guess an error should be thrown if an incomplete surrogate pair is encountered.