前回に引き続き、今回はGO言語でURLデコードの方法
実際のところ
package main import ( "fmt" "net/url" ) func main() { var urlStr string = "http://sample.org/?person=%D8%B5%D9%84%D8%A7%D8%AD+%D8%A7%D9%84%D8%AF%D9%8A%D9%86+%D8%A7%D9%84%D8%A3%D9%8A%D9%88%D8%A8%D9%8A&person=%E6%9C%A8%E9%87%8E%E4%BF%AE%E9%80%A0&sample=%E3%81%AA%E3%81%AA%E3%81%97" l2, _ := url.Parse(urlStr) fmt.Println("base", l2) fmt.Println("raw", l2.RawQuery) fmt.Println("query", l2.Query()) fmt.Println("query['person']", l2.Query()["person"]) }
結果はこんな感じ
base http://sample.org/?person=%D8%B5%D9%84%D8%A7%D8%AD+%D8%A7%D9%84%D8%AF%D9%8A%D9%86+%D8%A7%D9%84%D8%A3%D9%8A%D9%88%D8%A8%D9%8A&person=%E6%9C%A8%E9%87%8E%E4%BF%AE%E9%80%A0&sample=%E3%81%AA%E3%81%AA%E3%81%97 raw person=%D8%B5%D9%84%D8%A7%D8%AD+%D8%A7%D9%84%D8%AF%D9%8A%D9%86+%D8%A7%D9%84%D8%A3%D9%8A%D9%88%D8%A8%D9%8A&person=%E6%9C%A8%E9%87%8E%E4%BF%AE%E9%80%A0&sample=%E3%81%AA%E3%81%AA%E3%81%97 query map[person:[صلاح الدين الأيوبي 木野修造] sample:[ななし]] query['person'] [صلاح الدين الأيوبي 木野修造]