base64.go (1011B)
1 package base64 2 3 import "encoding/base64" 4 5 var ( 6 encoding = base64.RawURLEncoding 7 withPadding = base64.URLEncoding 8 ) 9 10 func Encode(dst, src []byte) { 11 encoding.Encode(dst, src) 12 } 13 14 func EncodeWithPadding(dst, src []byte) { 15 withPadding.Encode(dst, src) 16 } 17 18 func EncodeToString(src []byte) string { 19 return encoding.EncodeToString(src) 20 } 21 22 func EncodeToStringWithPadding(src []byte) string { 23 return withPadding.EncodeToString(src) 24 } 25 26 func EncodedLen(n int) int { 27 return encoding.EncodedLen(n) 28 } 29 30 func EncodedLenWithPadding(n int) int { 31 return withPadding.EncodedLen(n) 32 } 33 34 func Decode(dst, src []byte) (int, error) { 35 if src[len(src)-1] == '=' { 36 return withPadding.Decode(dst, src) 37 } 38 return encoding.Decode(dst, src) 39 } 40 41 func DecodeString(s string) ([]byte, error) { 42 if s[len(s)-1] == '=' { 43 return withPadding.DecodeString(s) 44 } 45 return encoding.DecodeString(s) 46 } 47 48 func DecodedLen(n int) int { 49 return encoding.DecodedLen(n) 50 } 51 52 func DecodedLenWithPadding(n int) int { 53 return withPadding.DecodedLen(n) 54 }