`

swift -> UIImage图片 / NSData 和 String 相互转化

 
阅读更多
  •  图片 和 String 之间

 

图片转 String

            let image = UIImage();
            let imgData = UIImagePNGRepresentation(image);
            print(imgData?.base64EncodedString())

 

String 转 图片

            let imageStr:String = "iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAABxpRE9UAAAAAg...中间省略若干字符gg==";
            
            if var data: NSData = NSData(base64Encoded: imageStr, options:NSData.Base64DecodingOptions.ignoreUnknownCharacters)
                
            {
                
                if var image: UIImage = UIImage(data: data as Data)
                    
                {
                    
                    let imageView = UIImageView(image: image)
                    self.view.addSubview(imageView)
                    
                }
                
            }

 

 

  •   NSData 和 String 之间  
do {
    //data to string
    let data: Data = try Data(contentsOf: url! as URL)
    let str = String(data: data, encoding: String.Encoding.utf8)

    //string to data
    let data:Data = str.data(using: String.Encoding.utf8))!
catch {
    print("Error: (data: contentsOf: url)")
}

 

Base64互转 

let string = "Hello world"

// 将字符串进行UTF8编码成NSData
let utf8EncodeData:NSData! = string.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)

// 将NSData进行base64编码
let base64EncodedString =  utf8EncodeData?.base64EncodedString()
print("encodedString: \(base64EncodedString)")

// 将base64字符串转换成NSData
let base64EncodedData = NSData(base64EncodedString:base64EncodedString,options:NSDataBase64DecodingOptions(rawValue: 0))
// 对NSData数据进行UTF8解码
let stringWithDecode = NSString(data: base64EncodedData!, encoding: NSUTF8StringEncoding)
print("base64String: \(stringWithDecode)")

 

分享到:
评论

相关推荐

    NSData 与 NSString,Byte数组,UIImage 的相互转换

    在iOS和macOS开发中,`NSData`、`NSString`以及`UIImage`是常见的数据类型,它们在不同的场景下有着各自的用途。理解并熟练掌握它们之间的转换是非常重要的,这有助于我们处理各种数据和资源。下面将详细介绍这些...

    swift-ChGifImageView支持通过URL图片播放Gif也支持直接读取Gif文件

    总结来说,"swift-ChGifImageView"是一个强大的Swift库,它提供了一种高效且灵活的方式在iOS应用中处理和展示Gif图片。通过URL加载和直接读取本地文件的功能,加上内存优化措施,使得开发者能够轻松地在应用中集成...

    iphone 图像处理小结

    若要在应用重启时显示之前保存的图片,可以使用`NSData`的`writeToFile:atomically:`方法将图片数据保存到文件,然后在应用启动时使用`initWithContentsOfFile:`方法加载图片。 ```swift func saveImage(image: ...

    IOS-图片编码-Base64-例子

    Base64是一种用64个字符来表示任意二进制数据的方法,它将二进制数据转化为可打印的ASCII字符,使得图片可以在纯文本环境下进行传递。在"IOS-图片编码-Base64-例子"这个主题中,我们将深入探讨如何在iOS应用中实现...

    IOS图片BASE64编码解码

    func decodeBase64StringToImage(base64String: String) -> UIImage? { guard let imageData = NSData(base64Encoded: base64String, options: .ignoreUnknownCharacters) else { return nil } return UIImage...

    ios中将base64将图片转码的demo

    func base64StringToImage(base64String: String) -> UIImage? { guard let imageData = Data(base64Encoded: base64String, options: .ignoreUnknownCharacters) else { return nil } return UIImage(data: ...

    base64 转码

    func base64StringToImage(base64String: String) -> UIImage? { guard let imageData = Data(base64Encoded: base64String, options: .ignoreUnknownCharacters) else { return nil } return UIImage(data: ...

    iOS二维码的生成和扫描

    3. **设置输入数据**:将要编码的数据(例如URL、文本等)转化为`NSData`对象,并将其设置为过滤器的`inputMessage`键路径的值。 ```swift let dataString = "http://www.520it.com" let data = dataString.data...

    图片转换成base64码

    在iOS开发中,可以使用Foundation框架中的`UIImage`和`NSData`类进行图片与Base64之间的转换。以下是具体步骤: 1. 将图片对象(`UIImage`)转换为数据对象(`NSData`): ```swift let imageData = UIImage(named: ...

    iOS 读取URL图片并存储到本地的实例

    在异步队列中,你可以使用`NSData`的`dataWithContentsOfURL:`方法从URL加载图片数据: ```swift func saveImageFromURL(urlString: String, completion: @escaping () -> Void) { guard let url = URL(string: ...

    iOS将相册中图片上传至服务器的方法

    func getImage(urlStr: String) -> UIImage? { return UIImage(contentsOfFile: urlStr) } ``` 总结来说,iOS应用中将相册中的图片上传至服务器涉及到选取图片、保存图片到本地、从本地加载图片以及通过网络接口将...

    IOS上传图片到服务器

    2. **转换成网络传输格式**:由于网络传输通常需要二进制数据,我们需要将`UIImage`转换为NSData,可以使用`UIImageJPEGRepresentation`或`UIImagePNGRepresentation`方法。 3. **创建HTTP请求**:在iOS中,我们...

    ios7下二维码生成Demo

    NSData *encodedData = [encoder encodeString:dataToEncode error:nil]; // 创建二维码生成器 CIQRCodeGenerator *qrGenerator = [CIQRCodeGenerator new]; CIFilter *qrFilter = [CIFilter filterWithName:@...

    HanekeSwift:一个用Swift编写的iOS轻量级通用缓存,对图像特别钟爱

    Haneke是用Swift 4编写... Haneke为UIImage , NSData , JSON , String或可以作为数据读取或写入的任何其他类型提供内存和LRU磁盘缓存。 特别是Haneke擅长处理图像。 它包括一个具有自动调整大小的零配置图像缓存。

    IOS 显示Gif图片

    在iOS开发中,显示GIF图片是一个常见的需求,特别是在创建社交、娱乐或者信息展示类应用时。GIF是一种流行的动画格式,它支持循环播放和透明度,为用户提供了一种生动的视觉体验。本文将深入探讨如何在iOS应用中实现...

    IOS 七牛上传图片

    本文将详细讲解如何利用七牛SDK在iOS应用中实现图片上传功能,以及如何进行多图上传和获取上传图片的URL。 首先,我们需要在七牛云平台注册账号,创建空间(Bucket),并获取到Access Key和Secret Key,这是进行...

    ISO7 二维码详细介绍及使用方法

    ISO7 二维码是一种编码标准,它允许在二维空间内存储数据,与传统的条形码相比,具有更高的数据容量和安全性。ISO7 二维码通常用于存储网址、文本、联系信息等多种类型的数据,尤其在移动设备中得到了广泛应用。在...

    IOS笔记061之二维码的生成和扫描

    func createHighResolutionQRCode(from ciImage: CIImage, size: CGFloat) -> UIImage { let extent = CGRectIntegral(ciImage.extent) let scale = min(size / CGRectGetWidth(extent), size / CGRectGetHeight...

    ios原生二维码扫描与生成的实现教程

    NSData *dataToEncode = [data dataUsingEncoding:NSUTF8StringEncoding]; [filter setValue:dataToEncode forKey:kCIInputMessageKey]; // 输出生成的二维码图像 CIImage *outputImage = [filter outputImage]; ``...

    iOS使用AFN进行单图和多图上传的实例代码

    单张图片上传的核心在于将图片数据(NSData类型)附加到请求体中。首先,我们需要创建一个AFHTTPRequestOperationManager对象,然后调用POST方法,传入URL字符串、参数(params)以及一个闭包,该闭包用于构建请求体...

Global site tag (gtag.js) - Google Analytics