base64.go 521 B

12345678910111213141516171819202122232425262728
  1. package tool
  2. import (
  3. "encoding/base64"
  4. )
  5. func Base64DecodeString(src string) (dst string, err error) {
  6. if src == "" {
  7. return "", nil
  8. }
  9. var dstbytes []byte
  10. dstbytes, err = base64.RawURLEncoding.DecodeString(src)
  11. if err != nil {
  12. dstbytes, err = base64.RawStdEncoding.DecodeString(src)
  13. }
  14. if err != nil {
  15. dstbytes, err = base64.StdEncoding.DecodeString(src)
  16. }
  17. if err != nil {
  18. dstbytes, err = base64.URLEncoding.DecodeString(src)
  19. }
  20. if err != nil {
  21. return "", err
  22. }
  23. dst = string(dstbytes)
  24. return
  25. }