Files
proxypool/pkg/tool/base64.go
2020-09-04 17:51:15 +08:00

40 lines
846 B
Go

package tool
import (
"encoding/base64"
)
func Base64DecodeString(src string) (dst string, err error) {
if src == "" {
return "", nil
}
var dstbytes []byte
dstbytes, err = base64.RawURLEncoding.DecodeString(src)
if err != nil {
dstbytes, err = base64.RawStdEncoding.DecodeString(src)
}
if err != nil {
dstbytes, err = base64.StdEncoding.DecodeString(src)
}
if err != nil {
dstbytes, err = base64.URLEncoding.DecodeString(src)
}
if err != nil {
return "", err
}
dst = string(dstbytes)
return
}
func Base64EncodeString(origin string, urlsafe bool) (result string) {
if urlsafe {
return base64.URLEncoding.EncodeToString([]byte(origin))
}
return base64.StdEncoding.EncodeToString([]byte(origin))
}
func Base64EncodeBytes(origin []byte) (result string) {
return base64.StdEncoding.EncodeToString([]byte(origin))
}