zoukankan      html  css  js  c++  java
  • (转)Object-C 中各数据类型转换 NSData转NSString,Byte,UIImage

    1,NSData 与 NSString
      NSData --> NSString
      NSString *aString = [[NSString alloc] initWithData:adata encoding:NSUTF8StringEncoding];
      NSString --> NSData
      NSString *aString = @"1234";
      NSData *aData = [aString dataUsingEncoding: NSUTF8StringEncoding];
    
    2,NSData 与 Byte
      NSData --> Byte
      NSString *testString = @"1234567890";
      NSData *testData = [testString dataUsingEncoding: NSUTF8StringEncoding];
      Byte *testByte = (Byte *)[testData bytes];
      Byte --> NSData
      Byte byte[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23};
      NSData *adata = [[NSData alloc] initWithBytes:byte length:24];
    
    3,NSData 与 UIImage
      NSData --> UIImage
      UIImage *aimage = [UIImage imageWithData: imageData];
      //例:从本地文件沙盒中取图片并转换为NSData
      NSString *path = [[NSBundle mainBundle] bundlePath];
      NSString *name = [NSString stringWithFormat:@"ceshi.png"];
      NSString *finalPath = [path stringByAppendingPathComponent:name];
      NSData *imageData = [NSData dataWithContentsOfFile: finalPath];
      UIImage *aimage = [UIImage imageWithData: imageData];
      UIImage-> NSData
      NSData *imageData = UIImagePNGRepresentation(aimae);
    
    4,NSData 与 NSMutableData
      NSData --> MSMutableData
      NSData *data=[[NSData alloc]init];
      NSMutableData *mdata=[[NSMutableData alloc]init];   
      mdata=[NSData dataWithData:data];
    
    5,NSData合并为一个NSMutableData
    
    - (NSString *)filePathWithName:(NSString *)filename
     {
             NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
             NSString *documentsDirectory = [paths objectAtIndex:0];
             return [documentsDirectory stringByAppendingPathComponent:filename];
     }
     
     - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
         //音频文件路径
             NSString *mp3Path1 = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"mp3"];
             NSString *mp3Path2 = [[NSBundle mainBundle] pathForResource:@"2" ofType:@"mp3"];
             //音频数据
             NSData *sound1Data = [[NSData alloc] initWithContentsOfFile: mp3Path1];
             NSData *sound2Data = [[NSData alloc] initWithContentsOfFile: mp3Path2];
             //合并音频
             NSMutableData *sounds = [NSMutableData alloc];
             [sounds appendData:sound1Data];
             [sounds appendData:sound2Data];
             //保存音频
     
             NSLog(@"data length:%d", [sounds length]);
     
             [sounds writeToFile:[self filePathWithName:@"tmp.mp3"] atomically:YES];
             
             [window makeKeyAndVisible];
         
         return YES;
     }
    
    
    
  • 相关阅读:
    打开任务管理器的hang住的进程直接右键抓取dmp文件
    Excel匯入匯出整理
    ShellExecute 命令行参数最长2068
    一个判断是否为质数的正则表达式
    visualstudio 比较和merge工具命令行配置
    C++ 螺旋队列
    寻找连通线,参考八后算法递归,可用于验证码去除连续干扰线
    DES 加解密
    记个地址
    CF1383C String Transformation 2 题解
  • 原文地址:https://www.cnblogs.com/ak23173969/p/4362170.html
Copyright © 2011-2022 走看看