美文网首页
base64图片和字符串编解码详细过程

base64图片和字符串编解码详细过程

作者: reloadRen | 来源:发表于2016-06-01 18:14 被阅读844次

    base64图片和字符串编解码详细过程

    base64图片编码过程

    • 1、读取图片路径

        NSString *path = [[NSBundle mainBundle] pathForResource:imageName ofType:nil];
      
    • 2、获取文件的二进制

        NSData *data = [NSData dataWithContentsOfFile:path];
      
    • 3、编码->通过字符串接收

        NSString *base64String = [data base64EncodedStringWithOptions:0]
      
    • 4、获取沙盒路径+文件路径(储存为222.txt文件)

        NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
      
        NSString *filePath = [cachePath stringByAppendingPathComponent:@"222.txt"];
      
    • 5、写入沙盒

        [base64String writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:NULL];
      

    base64图片解码过程

    • 1、从沙盒获取图片路径

        NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
      
        NSString *filePath = [cachePath stringByAppendingPathComponent:@"222.txt"];
      
    • 2、获取文件的二进制

         NSData *base64Data = [NSData dataWithContentsOfFile:filePath];
         NSData *data = [[NSData alloc] initWithBase64EncodedData:base64Data options:0];
      
    • 3、加载图片

        self.imageView.image = [UIImage imageWithData:data];
      

    图片编解码演示结束


    base64字符串编码

    • 将字符串(String)转换为二进制data类型数据

        NSData *data = [String dataUsingEncoding:NSUTF8StringEncoding];
      
    • 把转换后的二进制数据进行编码

            NSString *base64String = [data base64EncodedStringWithOptions:0];
      

    base64字符串解码

    • 把base64编码的字符串(String)转换为data类型

        NSData *data = [[NSData alloc]initWithBase64EncodedString:base64String options:0];
      
    • 把data类型的数据还原成字符串类型

        NSString *string = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
      

    字符串编解码演示结束

    转载须注明出处,谢谢!
    http://www.jianshu.com/p/3ab36ad3a18a

    相关文章

      网友评论

          本文标题:base64图片和字符串编解码详细过程

          本文链接:https://www.haomeiwen.com/subject/jdbhdttx.html