为了账号安全,请及时绑定邮箱和手机立即绑定

golang中有urlencode()函数吗?

golang中有urlencode()函数吗?

Go
慕侠2389804 2023-07-31 15:09:44
许多语言(例如 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中有这样的函数吗?
查看完整描述

1 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

是的,你可以使用类似这些的函数来做到这一点:


package main


import (

    "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))

}


查看完整回答
反对 回复 2023-07-31
  • 1 回答
  • 0 关注
  • 135 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信