uri_encode
URI percent-encoding for Rust, providing functions equivalent to JavaScript's encodeURI() and encodeURIComponent().
Installation
[]
= "1.0"
Usage
use ;
// Encode a complete URL (preserves structure)
let url = encode_uri;
assert_eq!;
// Encode a URL component (more aggressive)
let component = encode_uri_component;
assert_eq!;
// Encode query parameters (spaces become +)
let param = encode_query_param;
assert_eq!;
Functions
encode_uri
Encodes a complete URI while preserving its structure. Equivalent to JavaScript's encodeURI().
Preserves: A-Z a-z 0-9 - _ . ! ~ * ' ( ) ; , / ? : @ & = + $ #
encode_uri
// => "https://example.com/hello%20world?name=foo%20bar"
encode_uri_component
Encodes a URI component such as a path segment or query value. Equivalent to JavaScript's encodeURIComponent().
Preserves: A-Z a-z 0-9 - _ . ! ~ * ' ( )
encode_uri_component
// => "hello%20world%26foo%3dbar"
encode_query_param
Encodes a query parameter using application/x-www-form-urlencoded format. Spaces become +.
encode_query_param
// => "John+Doe"
Character Encoding Reference
| Character | encode_uri |
encode_uri_component |
encode_query_param |
|---|---|---|---|
| space | %20 |
%20 |
+ |
/ |
/ |
%2f |
/ |
? |
? |
%3f |
? |
& |
& |
%26 |
& |
= |
= |
%3d |
= |
# |
# |
%23 |
# |
Features
- Zero dependencies
- No unsafe code (
#![forbid(unsafe_code)]) - Works with
&str,String, or any type implementingAsRef<str>
License
ISC