Files
2025-11-09 18:23:08 +08:00

53 lines
1.1 KiB
Go

package base64x
import "encoding/base64"
// 普通的
func StdEncode(s string) string {
return base64.StdEncoding.EncodeToString([]byte(s))
}
func StdDecode(sEnc string) (string, error) {
sDec, err := base64.StdEncoding.DecodeString(sEnc)
if err != nil {
return "", err
}
return string(sDec), nil
}
// URL和文件名安全的
func UrlEncode(s string) string {
return base64.URLEncoding.EncodeToString([]byte(s))
}
func UrlDecode(sEnc string) (string, error) {
sDec, err := base64.URLEncoding.DecodeString(sEnc)
if err != nil {
return "", err
}
return string(sDec), nil
}
// 无填充
func RawEncode(s string) string {
return base64.RawStdEncoding.EncodeToString([]byte(s))
}
func RawDecode(sEnc string) (string, error) {
sDec, err := base64.RawStdEncoding.DecodeString(sEnc)
if err != nil {
return "", err
}
return string(sDec), nil
}
// URL和文件名安全的,无填充
func RawUrlEncode(s string) string {
return base64.RawURLEncoding.EncodeToString([]byte(s))
}
func RawUrlDecode(s string) (string, error) {
decoded, err := base64.RawURLEncoding.DecodeString(s)
return string(decoded), err
}