在Swift中解码base64字符串

Evg*_*ban 0 swift

我有以下base64编码的字符串:

eyJhbGciOiJSUzI1NiIsImtpZCI6IjdEODU3RjE3RjMwQTBBNzY4OUQ4RTFDMTI0RjRFMzk1MEU2REIyQ0YiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJmWVZfRl9NS0NuYUoyT0hCSlBUamxRNXRzczgifQ
Run Code Online (Sandbox Code Playgroud)

我可以轻松地在线解码,例如这里

但是,当我尝试快速解码时,我不成功,我使用了:

func fromBase64() -> String? {
    guard let data = Data(base64Encoded: self) else {
      return nil
    }

    return String(data: data, encoding: .utf8)
  }
Run Code Online (Sandbox Code Playgroud)

但是我返回零。

Ger*_*eon 5

您的字符串=在base64输出的末尾缺少填充字符,以使字符串长度可被4整除。

eyJhbGciOiJSUzI1NiIsImtpZCI6IjdEODU3RjE3RjMwQTBBNzY4OUQ4RTFDMTI0RjRFMzk1MEU2REIyQ0YiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJmWVZfRl9NS0NuYUoyT0hCSlBUamxRNXRzczgifQ==
Run Code Online (Sandbox Code Playgroud)