Skip to content

Latest commit

 

History

History
26 lines (20 loc) · 1.09 KB

url-encode.zh.md

File metadata and controls

26 lines (20 loc) · 1.09 KB

将字符串编码为 application/x-www-form-urlencoded

[![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);
}