package base64x import "encoding/base64" // 普通的 func Base64StdEncode(s string) string { return base64.StdEncoding.EncodeToString([]byte(s)) } func Base64StdDecode(sEnc string) (string, error) { sDec, err := base64.StdEncoding.DecodeString(sEnc) if err != nil { return "", err } return string(sDec), nil } // URL和文件名安全的 func Base64UrlEncode(s string) string { return base64.URLEncoding.EncodeToString([]byte(s)) } func Base64UrlDecode(sEnc string) (string, error) { sDec, err := base64.URLEncoding.DecodeString(sEnc) if err != nil { return "", err } return string(sDec), nil } // 无填充 func Base64RawEncode(s string) string { return base64.RawStdEncoding.EncodeToString([]byte(s)) } func Base64RawDecode(sEnc string) (string, error) { sDec, err := base64.RawStdEncoding.DecodeString(sEnc) if err != nil { return "", err } return string(sDec), nil } func Base64RawUrlEncode(s string) string { return base64.RawURLEncoding.EncodeToString([]byte(s)) } func Base64RawUrlDecode(s string) (string, error) { decoded, err := base64.RawURLEncoding.DecodeString(s) return string(decoded), err }