我正在尝试使用 urlencoding 来解码 url 日期时间,如下所示:
fn main() {
let result = urlencoding::decode("gmt_create=2024-05-05+11%3A14%3A19");
print!("{}",result.unwrap_or_default().into_owned());
}
url 参数很长。如何使日期和时间与空格连接?不使用 + 。这是Cargo.toml:
[dependencies]
urlencoding = "2.1.3"
我希望这个结果可能看起来像这样:gmt_payment=2024-05-05 00:05:28
。我尝试过使用decode_component
但在urlencoding中没有找到这个功能。我也尝试过这样的:
use percent_encoding::percent_decode_str;
fn main() {
let encoded_str = "gmt_create=2024-05-05+11%3A14%3A19";
let decoded_str = percent_decode_str(encoded_str).decode_utf8().unwrap();
println!("Decoded string: {}", decoded_str);
}
还是没用。
我建议您使用form-urlencoded箱。URL 中存在无法解析的细微差别
+
(查询字符串除外),因此 urlencoding 和百分比编码 crate 不合适。令人烦恼的是,这个板条箱没有简单地将字符串解码为另一个字符串的方法,它仅将其解析为键值对迭代器。但我希望你能做到这一点: