base64 문자열에서 시작하는 경우 UTF8
이 아닌 base64 문자열로 디코딩해야합니다.
if let data = Data(base64Encoded: imageDataString) {
let image = UIImage(data: data)
}
니펫 단순히 인코딩 화상 문자열을 사용하는 Data
객체로 디코딩하고 데이터로부터 이미지를 생성한다.
base64 문자열을 사용하여 많은 작업을하는 경우 String
구조 기능을 확장하는 것이 좋습니다.
extension String {
//: ### Base64 encoding a string
func base64Encoded() -> String? {
if let data = self.data(using: .utf8) {
return data.base64EncodedString()
}
return nil
}
//: ### Base64 decoding a string
func base64Decoded() -> String? {
if let data = Data(base64Encoded: self) {
return String(data: data, encoding: .utf8)
}
return nil
}
}
이 조각은 링거에 Github, 학점에서 찍은.
또 다른 방법은 사용입니다 스위프트 규칙을 준수한다 레오 버스들이시길에 의해 생성 된 extension :
extension String {
var data: Data { return Data(utf8) }
var base64Encoded: Data { return data.base64EncodedData() }
var base64Decoded: Data? { return Data(base64Encoded: self) }
}
extension Data {
var string: String? { return String(data: self, encoding: .utf8) }
}
당신이 JSON API를 내부 문자열을 받고, 아니면 그냥 GIF 데이터를지고있다? –