#url #escaping #percent #urlencode #urldecode

nightly rs-urlencoding

一个用于URL百分比的Rust库

1个稳定版本

1.0.0 2022年4月12日

编码 中排名 #1721

MIT 许可证

15KB
242

urlencoding

Latest Version

一个用于URL百分比编码和解码的小型Rust库。除了字母数字和 -_.~ 外,它会对所有内容进行百分比编码。

解码时,+ 不会被处理为空格。错误恢复遵循 WHATWG URL标准

用法

要编码一个字符串,执行以下操作

use urlencoding::encode;

let encoded = encode("This string will be URL encoded.");
println!("{}", encoded);
// This%20string%20will%20be%20URL%20encoded.

要解码一个字符串,操作稍有不同

use urlencoding::decode;

let decoded = decode("%F0%9F%91%BE%20Exterminate%21")?;
println!("{}", decoded);
// 👾 Exterminate!

允许任意字节和无效UTF-8的解码

use urlencoding::decode_binary;

let binary = decode_binary(b"%F1%F2%F3%C0%C1%C2");
let decoded = String::from_utf8_lossy(&binary);

此库返回 Cow 以避免在不需要解码/编码时分配内存。在 Cow 上调用 .into_owned() 以获取一个 VecString

许可证

本项目采用MIT许可证。有关更多信息,请参阅 LICENSE 文件。

无运行时依赖