[![url-badge]][url] [![cat-encoding-badge]][cat-encoding]
将字符串,编码为application/x-www-form-urlencoded语法,通过form_urlencoded::byte_serialize
,然后用form_urlencoded::parse
完成。 两个函数都返回迭代器,这些迭代器能收集成一个String
。
extern crate url;
use url::form_urlencoded::{byte_serialize, parse};
fn main() {
let urlencoded: String = byte_serialize("What is ❤?".as_bytes()).collect();
assert_eq!(urlencoded, "What+is+%E2%9D%A4%3F");
println!("urlencoded:'{}'", urlencoded);
let decoded: String = parse(urlencoded.as_bytes())
.map(|(key, val)| [key, val].concat())
.collect();
assert_eq!(decoded, "What is ❤?");
println!("decoded:'{}'", decoded);
}