|
NAMEURI::Encode::XS - a Perl URI encoder/decoder using CSYNOPSISuse URI::Encode::XS qw/uri_encode uri_encode_utf8 uri_decode uri_decode_utf8/; my $encoded = uri_encode($data); my $decoded = uri_decode($encoded); # utf8 friendly my $encoded = uri_encode_utf8($data); my $decoded = uri_decode_utf8($encoded); DESCRIPTIONThis is a Perl URI encoder/decoder written in XS based on RFC3986 <https://tools.ietf.org/html/rfc3986>. This module always encodes characters that are not unreserved. When decoding, invalid escape sequences are preserved, e.g:uri_decode("foo%20bar%a/"); # foo bar%a/ uri_decode("foo%20bar%a"); # foo bar%a uri_decode("foo%20bar%"); # foo bar% As of version 0.10, the "bench" script shows it to be significantly faster than "URI::Escape": Rate escape encode_utf8 encode escape 140114/s -- -94% -98% encode_utf8 2255100/s 1509% -- -71% encode 7735189/s 5421% 243% -- Rate unescape decode_utf8 decode unescape 188714/s -- -95% -97% decode_utf8 3744638/s 1884% -- -50% decode 7429263/s 3837% 98% -- However this is just one string - the fewer encoded/decoded characters are in the string, the closer the benchmark is likely to be (see "bench" for details of the benchmark). Different hardware will yield different results. Another fast encoder/decoder which supports custom escape lists, is URI::XSEscape <https://metacpan.org/pod/URI::XSEscape>. INSTALLATION$ cpan URI::Encode::XS Or $ git clone https://github.com/dnmfarrell/URI-Encode-XS $ cd URI-Encode-XS $ perl Makefile.PL $ make $ make test $ make install CONTRIBUTORS
SEE ALSO
REPOSITORY<https://github.com/dnmfarrell/URI-Encode-XS>LICENSESee LICENSEAUTHOR© 2016 David Farrell
Visit the GSP FreeBSD Man Page Interface. |