| Crates.io | uri_encode |
| lib.rs | uri_encode |
| version | 1.0.4 |
| created_at | 2021-11-14 14:07:19.963425+00 |
| updated_at | 2025-12-18 14:47:37.070929+00 |
| description | URI percent-encoding (encodeURI, encodeURIComponent, urlencode) |
| homepage | https://github.com/jedisct1/rust-uri-encode |
| repository | https://github.com/jedisct1/rust-uri-encode |
| max_upload_size | |
| id | 481731 |
| size | 19,779 |
URI percent-encoding for Rust, providing functions equivalent to JavaScript's encodeURI() and encodeURIComponent().
[dependencies]
uri_encode = "1.0"
use uri_encode::{encode_uri, encode_uri_component, encode_query_param};
// Encode a complete URL (preserves structure)
let url = encode_uri("https://example.com/path?q=hello world");
assert_eq!(url, "https://example.com/path?q=hello%20world");
// Encode a URL component (more aggressive)
let component = encode_uri_component("path/with spaces");
assert_eq!(component, "path%2fwith%20spaces");
// Encode query parameters (spaces become +)
let param = encode_query_param("hello world");
assert_eq!(param, "hello+world");
encode_uriEncodes 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 world?name=foo bar")
// => "https://example.com/hello%20world?name=foo%20bar"
encode_uri_componentEncodes 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 world&foo=bar")
// => "hello%20world%26foo%3dbar"
encode_query_paramEncodes a query parameter using application/x-www-form-urlencoded format. Spaces become +.
encode_query_param("John Doe")
// => "John+Doe"
| Character | encode_uri |
encode_uri_component |
encode_query_param |
|---|---|---|---|
| space | %20 |
%20 |
+ |
/ |
/ |
%2f |
/ |
? |
? |
%3f |
? |
& |
& |
%26 |
& |
= |
= |
%3d |
= |
# |
# |
%23 |
# |
#![forbid(unsafe_code)])&str, String, or any type implementing AsRef<str>ISC