123456789101112131415161718192021222324252627282930313233343536 |
- 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)
- }
|