Expand description
§URL Escape
This library is for encoding/escaping special characters in URLs and decoding/unescaping URLs as well.
§Usage
§Encoding
This crate provides some encode_*
functions to encode URL text in different situations.
For example, to put a text to a fragment, use the encode_fragment
function.
assert_eq!("a%20%3E%20b?", url_escape::encode_fragment("a > b?"));
The functions suffixed with _to_writer
, _to_vec
or _to_string
are useful to generate URL text.
let mut url = String::from("https://");
assert_eq!("admin%40example.com", url_escape::encode_userinfo_to_string("admin@example.com", &mut url));
url.push_str("@127.0.0.1/");
assert_eq!("%E4%B8%AD%E6%96%87%E5%AD%97/eng/12%2034", url_escape::encode_path_to_string("中文字/eng/12 34", &mut url));
url.push('/');
assert_eq!(r"56%2F78", url_escape::encode_component_to_string("56/78", &mut url));
url.push('?');
assert_eq!(r"a=1&b=a%20b%20c", url_escape::encode_query_to_string("a=1&b=a b c", &mut url));
assert_eq!("https://admin%40example.com@127.0.0.1/%E4%B8%AD%E6%96%87%E5%AD%97/eng/12%2034/56%2F78?a=1&b=a%20b%20c", url);
§Decoding
assert_eq!("中文字/eng/12 34", url_escape::decode("%E4%B8%AD%E6%96%87%E5%AD%97/eng/12%2034"));
Re-exports§
pub extern crate percent_encoding;
Constants§
- The component percent-encode set is the userinfo percent-encode set and U+0024 ($) to U+0026 (&), inclusive, U+002B (+), and U+002C (,).
- The C0 control percent-encode set are the C0 controls and U+007F (DEL). The set of 0x00 to 0x1F (C0 controls), and 0x7F (DEL).
- The fragment percent-encode set is the C0 control percent-encode set and U+0020 SPACE, U+0022 (“), U+003C (<), U+003E (>), and U+0060 (`).
- Not an ASCII letter or digit. Everything that is not an ASCII letter or digit.
- The path percent-encode set is the query percent-encode set and U+003F (?), U+0060 (`), U+007B ({), and U+007D (}).
- The query percent-encode set is the C0 control percent-encode set and U+0020 SPACE, U+0022 (“), U+0023 (#), U+003C (<), and U+003E (>).
- The special-query percent-encode set is the query percent-encode set and U+0027 (’).
- The userinfo percent-encode set is the path percent-encode set and U+002F (/), U+003A (:), U+003B (;), U+003D (=), U+0040 (@), U+005B ([) to U+005E (^), inclusive, and U+007C (|).
- The application/x-www-form-urlencoded percent-encode set is the component percent-encode set and U+0021 (!), U+0027 (’) to U+0029 RIGHT PARENTHESIS, inclusive, and U+007E (~).
Functions§
- Decode percent-encoded bytes in a given string.
- Decode percent-encoded bytes in a given string to a mutable
String
reference and return the decoded string slice. - Decode percent-encoded bytes in a given string to a mutable
Vec<u8>
reference and return the decoded data slice. - Decode percent-encoded bytes in a given string to a writer.
- Encode text.
- Encode text used in a component.
- Write text used in a component to a mutable
String
reference and return the encoded string slice. - Write text used in a component to a mutable
Vec<u8>
reference and return the encoded data slice. - Write text used in a component to a writer.
- Encode text used in a fragment part.
- Write text used in a fragment part to a mutable
String
reference and return the encoded string slice. - Write text used in a fragment part to a mutable
Vec<u8>
reference and return the encoded data slice. - Write text used in a fragment part to a writer.
- Encode text used in the path part.
- Write text used in the path part to a mutable
String
reference and return the encoded string slice. - Write text used in the path part to a mutable
Vec<u8>
reference and return the encoded data slice. - Write text used in the path part to a writer.
- Encode text used in the query part.
- Write text used in the query part to a mutable
String
reference and return the encoded string slice. - Write text used in the query part to a mutable
Vec<u8>
reference and return the encoded data slice. - Write text used in the query part to a writer.
- Encode text used in the query part.
- Write text used in the query part to a mutable
String
reference and return the encoded string slice. - Write text used in the query part to a mutable
Vec<u8>
reference and return the encoded data slice. - Write text used in the query part to a writer.
- Write text to a mutable
String
reference and return the encoded string slice. - Write text to a mutable
Vec<u8>
reference and return the encoded data slice. - Write text to a writer.
- Encode text used in the userinfo part.
- Write text used in the userinfo part to a mutable
String
reference and return the encoded string slice. - Write text used in the userinfo part to a mutable
Vec<u8>
reference and return the encoded data slice. - Write text used in the userinfo part to a writer.
- Encode text as a www-form-urlencoded text.
- Write text as a urlencoded text to a mutable
String
reference and return the encoded string slice. - Write text as a www-form-urlencoded text to a mutable
Vec<u8>
reference and return the encoded data slice. - Write text as a www-form-urlencoded text to a writer.