#urlencode #codec #url #url-parameters #encoded-string #percent #encoding

无 std percent-encoding

百分号编码和解码

7 个稳定版本

2.3.1 2023 年 11 月 22 日
2.3.0 2023 年 6 月 5 日
2.2.0 2022 年 9 月 8 日
2.1.0 2019 年 8 月 5 日
1.0.0 2017 年 6 月 13 日

260文本处理

Download history 1853912/week @ 2024-04-26 1858700/week @ 2024-05-03 1914671/week @ 2024-05-10 1919499/week @ 2024-05-17 1871818/week @ 2024-05-24 2101171/week @ 2024-05-31 2082347/week @ 2024-06-07 2036542/week @ 2024-06-14 2066265/week @ 2024-06-21 1919870/week @ 2024-06-28 2020816/week @ 2024-07-05 2069406/week @ 2024-07-12 2093039/week @ 2024-07-19 2092011/week @ 2024-07-26 2091190/week @ 2024-08-02 1926061/week @ 2024-08-09

8,566,839 每月下载量
32,483 个 crate 中使用 (904 直接)

MIT/Apache

18KB
400 代码行

URL 使用特殊字符来指示请求的各个部分。例如,一个 ? 问号标志着路径的结束和查询字符串的开始。为了使该字符存在于路径中,它需要以不同的方式进行编码。

百分号编码用 % 转义字符替换保留字符,后跟作为两个十六进制数字的字节值。例如,ASCII 空格被替换为 %20

编码时,可以(并且应该,为了可读性)保留的字符集取决于上下文。上面提到的 ? 问号在查询字符串中直接使用时不是一个分隔符,因此不需要编码。`AsciiSet` 参数允许调用者配置此设置。

这个 crate 故意不提供许多不同的集合。用户应考虑编码字符串将在什么上下文中使用,阅读相关规范,并定义自己的集合。这是通过使用现有集合的 `add` 方法来完成的。

示例

use percent_encoding::{utf8_percent_encode, AsciiSet, CONTROLS};

/// https://url.spec.whatwg.org/#fragment-percent-encode-set
const FRAGMENT: &AsciiSet = &CONTROLS.add(b' ').add(b'"').add(b'<').add(b'>').add(b'`');

assert_eq!(utf8_percent_encode("foo <bar>", FRAGMENT).to_string(), "foo%20%3Cbar%3E");

无运行时依赖

功能