我试图从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 /
答案 0 :(得分:2)
您可以尝试以下代码:
let decodedData = NSData(base64EncodedString: base64String, options:NSDataBase64DecodingOptions.IgnoreUnknownCharacters)
答案 1 :(得分:0)
您可以使用这些函数对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
}
答案 2 :(得分:0)
您的imageFilePath
可能不是Base64字符串。打印并检查它是否包含除字母数字字符和+
和/
符号以外的任何内容。