zoukankan      html  css  js  c++  java
  • 图片 64 位编码 转换 小记


    accepted

    Swift

    First we need to have image's NSData

    //Use image name from bundle to create NSData
    let image : UIImage = UIImage(named:"imageNameHere")!
    //Now use image to create into NSData format
    let imageData:NSData = UIImagePNGRepresentation(image)!
    
    //OR next possibility
    
    //Use image's path to create NSData
    let url:NSURL = NSURL(string : "urlHere")!
    //Now use image to create into NSData format
    let imageData:NSData = NSData.init(contentsOfURL: url)!

    Swift 2.0 > Encoding

    let strBase64:String = imageData.base64EncodedStringWithOptions(.Encoding64CharacterLineLength)

    Swift 2.0 > Decoding

    let dataDecoded:NSData = NSData(base64EncodedString: strBase64, options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters)!

    Encoding :

    let strBase64 = imageData.base64EncodedStringWithOptions(.allZeros)
    print(strBase64)

    Decoding :

    let dataDecoded:NSData = NSData(base64EncodedString: strBase64, options: NSDataBase64DecodingOptions(rawValue: 0))!
    let decodedimage:UIImage = UIImage(data: dataDecoded)!
    print(decodedimage)
    yourImageView.image = decodedimage

    Objective-C

    iOS7 > version

    You can use NSData's base64EncodedStringWithOptions

    Encoding :

    - (NSString *)encodeToBase64String:(UIImage *)image {
     return [UIImagePNGRepresentation(image) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
    }

    Decoding :

    - (UIImage *)decodeBase64ToImage:(NSString *)strEncodeData {
      NSData *data = [[NSData alloc]initWithBase64EncodedString:strEncodeData options:NSDataBase64DecodingIgnoreUnknownCharacters];
      return [UIImage imageWithData:data];
    }

    iOS 6.1 and < version

    First Option : Use this link to encode and decode image

    Add Base64 class in your project.

    Encoding :

     NSData* data = UIImageJPEGRepresentation(yourImage, 1.0f);
     NSString *strEncoded = [Base64 encode:data];

    Decoding :

     NSData* data = [Base64 decode:strEncoded ];;
     image.image = [UIImage imageWithData:data];

    Another Option: Use QSUtilities for encoding and decoding

    参考链接:

    1.https://stackoverflow.com/questions/11251340/convert-between-uiimage-and-base64-string

    2.https://matrixzk.github.io/blog/20150122/load-image-encoded-with-base64/

  • 相关阅读:
    抽象类的子类能够new
    Codeforces Round #250 (Div. 2) A
    软件架构设计箴言理解
    UVA1422-Processor(二分法+优先队列)
    猜你喜欢-----推荐系统原理介绍
    Android------Intent.createChooser
    mongodb3.0 性能測试报告 二
    *Android 多线程下载 仿下载助手(改进版)
    Gson解析数组和list容器
    oracle dbms_repcat_admin能带来什么安全隐患
  • 原文地址:https://www.cnblogs.com/Jenaral/p/5772559.html
Copyright © 2011-2022 走看看