无法在 swift 中使用 base64 解码
Can not use base64 decode in swift
我有正确编码的 base64 字符串,我可以在线解码它,但是当我使用下面的代码并尝试使用 swift 解码它时,它报告 Unexpectedly found nil while unwrapping an Optional value
错误。
// the base64Code can be decode online.
let decodeBase64Code = Data(base64Encoded: base64Code)!
base64编码
eyJyb2xlcyI6WyJVc2VyIiwiTWFpbnRhaW5lciJdLCJhdWQiOiJzdHVkZW50cyIsImV4cCI6MTYwMTk5MjU5OCwiaWF0IjoxNjAxOTg4OTk4LCJpc3MiOiJzZXJ2aWNlIHByb2plY3QiLCJzdWIiOiI0NWI1ZmJkMy03NTVmLTQzNzktOGYwNy1hNThkNGEzMGZhMmYifQ
您的 base64 编码字符串的问题是它没有正确终止。您只需要将 "=="
添加到字符串的末尾:
let base64Code = "eyJyb2xlcyI6WyJVc2VyIiwiTWFpbnRhaW5lciJdLCJhdWQiOiJzdHVkZW50cyIsImV4cCI6MTYwMTk5MjU5OCwiaWF0IjoxNjAxOTg4OTk4LCJpc3MiOiJzZXJ2aWNlIHByb2plY3QiLCJzdWIiOiI0NWI1ZmJkMy03NTVmLTQzNzktOGYwNy1hNThkNGEzMGZhMmYifQ"
let decodeBase64Code = Data(base64Encoded: base64Code + repeatElement("=", count: base64Code.count.isMultiple(of: 4) ? 0 : 4 - base64Code.count % 4))!
let json = String(data: decodeBase64Code, encoding: .utf8)! // "{"roles":["User","Maintainer"],"aud":"students","exp":1601992598,"iat":1601988998,"iss":"service project","sub":"45b5fbd3-755f-4379-8f07-a58d4a30fa2f"}"
我有正确编码的 base64 字符串,我可以在线解码它,但是当我使用下面的代码并尝试使用 swift 解码它时,它报告 Unexpectedly found nil while unwrapping an Optional value
错误。
// the base64Code can be decode online.
let decodeBase64Code = Data(base64Encoded: base64Code)!
base64编码
eyJyb2xlcyI6WyJVc2VyIiwiTWFpbnRhaW5lciJdLCJhdWQiOiJzdHVkZW50cyIsImV4cCI6MTYwMTk5MjU5OCwiaWF0IjoxNjAxOTg4OTk4LCJpc3MiOiJzZXJ2aWNlIHByb2plY3QiLCJzdWIiOiI0NWI1ZmJkMy03NTVmLTQzNzktOGYwNy1hNThkNGEzMGZhMmYifQ
您的 base64 编码字符串的问题是它没有正确终止。您只需要将 "=="
添加到字符串的末尾:
let base64Code = "eyJyb2xlcyI6WyJVc2VyIiwiTWFpbnRhaW5lciJdLCJhdWQiOiJzdHVkZW50cyIsImV4cCI6MTYwMTk5MjU5OCwiaWF0IjoxNjAxOTg4OTk4LCJpc3MiOiJzZXJ2aWNlIHByb2plY3QiLCJzdWIiOiI0NWI1ZmJkMy03NTVmLTQzNzktOGYwNy1hNThkNGEzMGZhMmYifQ"
let decodeBase64Code = Data(base64Encoded: base64Code + repeatElement("=", count: base64Code.count.isMultiple(of: 4) ? 0 : 4 - base64Code.count % 4))!
let json = String(data: decodeBase64Code, encoding: .utf8)! // "{"roles":["User","Maintainer"],"aud":"students","exp":1601992598,"iat":1601988998,"iss":"service project","sub":"45b5fbd3-755f-4379-8f07-a58d4a30fa2f"}"