2 个版本
0.1.1 | 2022 年 3 月 19 日 |
---|---|
0.1.0 | 2021 年 4 月 21 日 |
#1315 in 编码
40,411 每月下载量
用于 54 个crate (32 直接)
18KB
219 行
URL 转义
此库用于对 URL 中的特殊字符进行编码/转义,以及解码/反转义 URL。
用法
编码
此crate提供了一些用于在不同情况下对URL文本进行编码的encode_*
函数。
例如,要将文本放入片段中,请使用encode_fragment
函数。
assert_eq!("a%20%3E%20b?", url_escape::encode_fragment("a > b?"));
以_to_writer
、_to_vec
或_to_string
结尾的函数可用于生成URL文本。
let mut url = String::from("https://");
assert_eq!("admin%40example.com", url_escape::encode_userinfo_to_string("[email protected]", &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%[email protected]/%E4%B8%AD%E6%96%87%E5%AD%97/eng/12%2034/56%2F78?a=1&b=a%20b%20c", url);
解码
assert_eq!("中文字/eng/12 34", url_escape::decode("%E4%B8%AD%E6%96%87%E5%AD%97/eng/12%2034"));
Crates.io
https://crates.io/crates/url-escape
文档
许可证
依赖项
~14KB