Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
URI::Encode::XS(3)    User Contributed Perl Documentation   URI::Encode::XS(3)

NAME
       URI::Encode::XS - a Perl	URI encoder/decoder using C

SYNOPSIS
	 use 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);

DESCRIPTION
       This 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
       o   Aristotle Pagaltzis <https://github.com/ap>

       o   Christian Hansen <https://github.com/chansen>

       o   Jesse DuMond	<https://github.com/JesseCanary>

SEE ALSO
       o   URI::Escape <https://metacpan.org/pod/URI::Escape>

       o   URI::XSEscape <https://metacpan.org/pod/URI::XSEscape>

       o   URL::Encode <https://metacpan.org/pod/URL::Encode>

       o   My article about the	story of this module: The road to a 55x
	   speedup with	XS <http://perltricks.com/article/the-road-to-a-55x-
	   speedup-with-xs/>

REPOSITORY
       <https://github.com/dnmfarrell/URI-Encode-XS>

LICENSE
       See LICENSE

AUTHOR
       A(C) 2016 David Farrell

perl v5.32.0			  2017-08-18		    URI::Encode::XS(3)

NAME | SYNOPSIS | DESCRIPTION | INSTALLATION | CONTRIBUTORS | SEE ALSO | REPOSITORY | LICENSE | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=URI::Encode::XS&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help