【问题标题】:Decoding base64String value returns nil解码 base64String 值返回 nil
【发布时间】:2016-04-19 13:36:53
【问题描述】:

我正在尝试从 base64String 获取 UIImage,但我遇到了一个有趣的问题。即使编码的字符串已满,解码它也会返回 nil。

   let base64String = imageFilePath as! String
   print(base64String) // returns encoded value

   let decodedData = NSData(base64EncodedString: base64String, options: NSDataBase64DecodingOptions(rawValue: 0))
   print(decodedData) // returns nil

编辑:就像

24wKiOQeetKPWmsx3AjtQMe+cDApoOTinCTOOKUsF5osIbtK800E5yKRySeeKFf ZQA5m79KkjYHr1qMupHWkbJGVoGTE0majXceT0qQkAUCGEUo5GKYOT81S5AOKEND WUg0wg9BUu4dKibAOKYCAHFKOCCaQ9cGkBzQApbk5o3D7p/A0mRS9e1AD1BPSnCN RzQnA5pjHPFMdhWcgbVHFSggr0/

【问题讨论】:

  • 你可以试试let decodedData = NSData(base64EncodedString: base64String, options:NSDataBase64DecodingOptions.IgnoreUnknownCharacters)
  • 这就是解决我问题的答案。非常感谢!
  • @Manuel 请添加它作为答案,我接受它
  • 我已经添加了答案。谢谢
  • @Manuel 你刚刚拯救了我的一天!伙计,我很高兴它是如何工作的,感谢您提出问题。

标签: ios swift base64 nsdata decoding


【解决方案1】:

你可以试试这个代码:

let decodedData = NSData(base64EncodedString: base64String, options:NSDataBase64DecodingOptions.IgnoreUnknownCharacters)

【讨论】:

    【解决方案2】:

    您可以使用这些函数对 Base64 字符串进行编码和解码

    static func encodeBase64(input: String)->String{
    
                let utf8str = input.dataUsingEncoding(NSUTF8StringEncoding)
                return utf8str!.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))   
            }
    static func decodeBase64(input: String)->String{
    
            let base64Decoded = NSData(base64EncodedString: input, options:   NSDataBase64DecodingOptions(rawValue: 0))
                .map({ NSString(data: $0, encoding: NSUTF8StringEncoding) })
    
            return base64Decoded as! String
    
        }
    

    【讨论】:

    • 我为我的 base64String 添加了控制台日志。我做错了什么吗?
    【解决方案3】:

    您的imageFilePath 可能不是 Base64 字符串。打印它并检查它是否包含除字母数字字符和+/ 符号之外的任何内容。

    【讨论】:

    • 我编辑了我的问题并放入了base64String的日志。你怎么看?
    猜你喜欢
    • 2016-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多