golang中有urlencode()函数吗?

许多语言(例如 JavaScript 和 PHP)都有一种urlencode()函数,可用于对查询字符串参数的内容进行编码。


"example.com?value=" + urlencode("weird string & number: 123")

这可确保对&、%、 空格等进行编码,以便您的 URL 保持有效。


我看到golang提供了一个URL包,它有一个用于查询字符串值的Encode()函数。这很有效,但在我的情况下,它需要我解析 URL,但我宁愿不这样做。


我的 URL 由客户端声明,不会更改顺序,并且潜在的重复参数(这是 URL 中的合法参数)可能会受到影响。所以我使用Replace()像这样:


func tweak(url string) string {

  url.Replace("@VALUE@", new_value, -1)

  return url

}

预计@VALUE@将用作查询字符串参数的值,如下所示:


example.com?username=@VALUE@

所以,我想做的是:


  url.Replace("@VALUE@", urlencode(new_value), -1)

Golang中有这样的函数吗?


慕侠2389804
浏览 136回答 1
1回答

牛魔王的故事

是的,你可以使用类似这些的函数来做到这一点:package mainimport (    "encoding/base64"    "fmt"    "net/url")func main() {    s := "enc*de Me Plea$e"    fmt.Println(EncodeParam(s))    fmt.Println(EncodeStringBase64(s))}func EncodeParam(s string) string {    return url.QueryEscape(s)}func EncodeStringBase64(s string) string {    return base64.StdEncoding.EncodeToString([]byte(s))}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go