package main import ( "bytes" "io/ioutil" "log" "net/url" "golang.org/x/text/encoding/simplifiedchinese" "golang.org/x/text/transform" ) func main() { key := "企业名称" msg := "http://a.com/?" l, _ := url.Parse(msg + key) str := l.Query().Encode() if len(str) > 1 { str = str[0 : len(str)-1] } log.Println("UTF8的url编码", str) str, _ = url.QueryUnescape(str) log.Println("UTF8的url解码", str) data, _ := ioutil.ReadAll(transform.NewReader(bytes.NewReader([]byte(key)), simplifiedchinese.GBK.NewEncoder())) l2, _ := url.Parse(msg + string(data)) str = l2.Query().Encode() if len(str) > 1 { str = str[0 : len(str)-1] } log.Println("GBK的url编码", str) str, _ = url.QueryUnescape("%C6%F3%D2%B5%C3%FB%B3%C6") log.Println("GBK的url解码", str) }