main.go 790 B

123456789101112131415161718192021222324252627282930313233343536
  1. package main
  2. import (
  3. "bytes"
  4. "io/ioutil"
  5. "log"
  6. "net/url"
  7. "golang.org/x/text/encoding/simplifiedchinese"
  8. "golang.org/x/text/transform"
  9. )
  10. func main() {
  11. key := "企业名称"
  12. msg := "http://a.com/?"
  13. l, _ := url.Parse(msg + key)
  14. str := l.Query().Encode()
  15. if len(str) > 1 {
  16. str = str[0 : len(str)-1]
  17. }
  18. log.Println("UTF8的url编码", str)
  19. str, _ = url.QueryUnescape(str)
  20. log.Println("UTF8的url解码", str)
  21. data, _ := ioutil.ReadAll(transform.NewReader(bytes.NewReader([]byte(key)), simplifiedchinese.GBK.NewEncoder()))
  22. l2, _ := url.Parse(msg + string(data))
  23. str = l2.Query().Encode()
  24. if len(str) > 1 {
  25. str = str[0 : len(str)-1]
  26. }
  27. log.Println("GBK的url编码", str)
  28. str, _ = url.QueryUnescape("%C6%F3%D2%B5%C3%FB%B3%C6")
  29. log.Println("GBK的url解码", str)
  30. }