nsdata_ios nsdata 如何打印 - CSDN
  • NSData的用法(实现文件的复制)

    千次阅读 2012-07-28 15:16:47
    NSData的contentsAtPath:方法仅仅是接受一个路径名,并将指定文件的内容读入该方法创建的存储区;如果读取成功,这个方法将返回存储区对象作为结果,否则(例如该文件不存在或者不能读取),将返回nil 方法...

    NSData的contentsAtPath:方法仅仅是接受一个路径名,并将指定文件的内容读入该方法创建的存储区;如果读取成功,这个方法将返回存储区对象作为结果,否则(例如该文件不存在或者不能读取),将返回nil

    方法createFileAtPath:contents:attributes:创建了一个具有特定属性(或者如果attributes参数提供为nil,则采用默认的属性值)的文件。然后,将指定的NSData对象内容写入这个文件中。

    例如下面的例子,数据区包含前面读取的文件内容,实现了文件的复制操作:

    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[])
    {
    
        @autoreleasepool {
            
            NSFileManager * fm;
            NSData *fileData;
            
            fm = [NSFileManager defaultManager];
            
            //读取文件testfile.txt
            fileData = [fm contentsAtPath:@"testfile.txt"];
            
            if(fileData == nil)
            {
                NSLog(@"File read failed!");
                return 1;
            }
            
            //将数据写到 newfile.txt  (相当于拷贝文件)
            if ([fm createFileAtPath:@"newfile.txt" contents:fileData attributes:nil] == NO)
            {
                NSLog(@"Couldn't create the copy!");
                return 2;
            }
            
            NSLog(@"File copy was successful!");
            
            //读取拷贝后的文件 newfile.txt中的数据
            NSLog(@"%@",[NSString stringWithContentsOfFile:@"newfile.txt" encoding:NSUTF8StringEncoding error:nil]);
            
           
      
        }
        return 0;
    }
    


    展开全文
  • NSData

    2013-10-21 20:46:50
    NSString / NSData / char* 类型之间的转换 1. NSString转化为UNICODE String: (NSString*)fname = @“Test”; char fnameStr[10]; memcpy(fnameStr, [fname cStringUsingEncoding:NSUnicodeStringEncoding],...

    NSString / NSData / char* 类型之间的转换

    1. NSString转化为UNICODE String:
    (NSString*)fname = @“Test”;
    char fnameStr[10];
    memcpy(fnameStr, [fname cStringUsingEncoding:NSUnicodeStringEncoding], 2*([fname length]));
    与strcpy相比,memcpy并不是遇到'\0'就结束,而是一定会拷贝完n个字节
    
    2. NSString 转化为 char *
    NSString * str= @“Test”;
    const char * a =[str UTF8String];
    
    
    3.char * 转化为 NSString
    NSString *str=[NSString stringWithCString  encoding:NSUTF8StringEncoding];
    
    
    
    4. char * 转化 NSData
     方法一:
       char * a = (char*)malloc(sizeof(byte)*16);
       NSData *data = [NSData dataWithBytes: a   length:strlen(a)];
     方法二:
        转换为NSString: - (id)initWithUTF8String:(const char *)bytes
        然后用NSString的 - (NSData *)dataUsingEncoding:(NSStringEncoding)encoding
    
    5. NSData 转化 char *
      NSData data ;
      char* a=[data bytes];
    
    6. NSData 转化 NSString;
    NSData* data;
    NSString* aStr= [NSString alloc] initWithData:data   encoding:NSASCIIStringEncoding];
    
    7. NSString 转化 NSData对象
    
    NSData* xmlData = [@"testdata" dataUsingEncoding:NSUTF8StringEncoding];
    
    http://blog.sina.com.cn/s/articlelist_1256141290_14_1.html
    
    
    NSString 转化 NSURL  
     //NSURL *url = [NSURL URLWithString:[str   stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding ]]; 
    NSString *urlString=[@"http://www.google.com/search?client=safari&rls=en&q=搜索&ie=UTF-8&oe=UTF-8" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSURL 转化 NSString
    NSURL *url=[NSURL URLWithString:urlString];
    NSString *s=[[url absoluteString] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    
    
    
    
    
    NSArray *arr = [urlStr componentsSeparatedByString:@"&"]; 
    NSURL *url = [NSURL URLWithString:[[arr objectAtIndex:0] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding ]]; 
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
    [request setHTTPMethod:@"POST"]; 
    
    NSMutableArray *_array = [[NSMutableArray alloc] initWithCapacity:0]; 
    for (int i = 1; i < [arr count]; ++i ){ 
    NSString *str = [arr objectAtIndex:i]; 
    [_array addObject:str]; 
    
    [_array componentsJoinedByString:@"&"]; 
    NSData *data = [[_array componentsJoinedByString:@"&"] dataUsingEncoding: NSASCIIStringEncoding]; 
    [request setHTTPBody:data];
    
    
     // 发送请求并获得服务器反馈的数据
        NSData *urldata = [AESEnCDeCViewController Get:url];
        
        // 第一种 转换NSData数据到char*字符串
        char * test = (char*)[urldata bytes];
        std::string old = deaes(test);
        
        // 第二种 转换NSData到UTF8编码的NSString中再转换为char*字符串
    //    NSString *desStr = [[NSString alloc] initWithData:urldata encoding:NSUTF8StringEncoding];
    //    const char *desresult = [desStr UTF8String];
    //    std::string old = deaes(desresult);
        
        // 解密字字符串到明文
        NSString *oldstr = [[NSString alloc] initWithCString:old.c_str()];
    
    
    
    
    很多时候软件读取的中文网页编码集是gb2312,所以显示出来的是乱码。这时需要将NSString文字编码转换
    
    
    1 NSURL *url = [NSURL URLWithString:urlStr];
    2 NSData *data = [NSData dataWithContentsOfURL:url];    
    3 NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);    
    4 NSString *retStr = [[NSString alloc] initWithData:data encoding:enc];
    
    
    展开全文
  • iOS笔记—NSData

    千次阅读 2018-05-28 01:11:22
    NSData与NSString互转 // // main.m // NSData // // Created by hhg on 15-6-11. // Copyright (c) 2015年 hhg. All rights reserved. // #import &lt;Foundation/Foundation.h&gt; int main(int argc...

    NSData与NSString互转

    //
    //  main.m
    //  NSData
    //
    //  Created by hhg on 15-6-11.
    //  Copyright (c) 2015年 hhg. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
    
            NSString *string = @"hhg ";
            //string---> data
            NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
            NSLog(@"%@", data);
    
            //data ---> string
            NSString *myString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
            NSLog(@"%@", myString);
        }
        return 0;
    }
    展开全文
  • NSData简介

    千次阅读 2016-06-29 13:45:21
    NSData存储的是二进制数据,屏蔽了数据之间的差异,文本、音频、图像等数据都可用NSData来存储 二、 NSData 与 NSString 1、NSData到NSString NSString *aString = [[NSString alloc] initWithData:...
    一、基本知识
    NSData是用来包装数据的。NSData存储的是二进制数据,屏蔽了数据之间的差异,文本、音频、图像等数据都可用NSData来存储
    二、 NSData 与 NSString
    1、NSData到NSString
    NSString *aString = [[NSString alloc] initWithData:adataencoding:NSUTF8StringEncoding];
    NSString->NSData
    NSString *aString = @"1234abcd";
    NSData *aData = [aString dataUsingEncoding: NSUTF8StringEncoding]; 

    2、将data类型的数据,转成UTF8的数据

    +(NSString *)dataToUTF8String:(NSData *)data
    {
     NSString *buf = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
     return [buf autorelease];
    }


    3、将string转换为指定编码 

    +(NSString *)changeDataToEncodinString:(NSData *)data encodin:(NSStringEncoding )encodin{
        NSString *buf = [[[NSString alloc] initWithData:data encoding:encodin] autorelease];
        return buf;
    }

    三、 NSData 与 UIImage
    1、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];

    四、NSData与NSArray  NSDictionary

    +(NSString *)getLocalFilePath:(NSString *) fileName
    {
     return [NSString stringWithFormat:@"%@/%@%@", NSHomeDirectory(),@“Documents”,fileName];
    }
    将NSData写进Documents目录
    从Documents目录读取数据
    在进行网络数据通信的时候,经常会遇到NSData类型的数据。在该数据是dictionary结构的情况下,系统没有提供现成的转换成NSDictionary的方法,为此可以通过Category对NSDictionary进行扩展,以支持从NSData到NSDictionary的转换。
    声明和实现如下:

     
    + (NSDictionary *)dictionaryWithContentsOfData:(NSData *)data {     
        CFPropertyListRef list = CFPropertyListCreateFromXMLData(kCFAllocatorDefault, (CFDataRef)data, kCFPropertyListImmutable, NULL);
        if(list == nil) return nil; 
        if ([(id)list isKindOfClass:[NSDictionary class]]) { 
             return [(NSDictionary *)list autorelease]; 
            } 
        else { 
             CFRelease(list); 
             return nil; 
            } 
    }

    结束!
    展开全文
  • OC中NSData的基本用法

    千次阅读 2016-08-14 13:29:55
    计算机文件分为两种:二进制文件和文本文件,其中计算机...而在NSData类中,此对象由其是实例化的对象,此对象包含了大量的字节,这些字节就是我们客户端想要的信息。 1.对不可变data进行的操作: 1)初始化/创建一
  • iOS NSData 详细使用说明

    热门讨论 2020-07-29 14:21:03
    iOS NSData 详细使用说明文档。
  • 解决NSData转NSString返回nil的问题

    万次阅读 2014-11-09 02:17:43
    在使用initWithData等方法将NSData转换成NSString时,如果NSData的内容含有非encoding编码的字符,将会返回nil。 这个结果在很多时候可能并不是我们所希望的,比如在获取网页源码进行分析等方面,如果页面采用了utf-...
  • iOS之NSData和字节学习

    2019-10-25 11:19:27
    NSData: Nsdata里面可以放很多类型,可以放string类型,可以放十六进制数据,可以放十进制数据,可以放二进制数据等等等。 在oc中,主要与十进制数据打交道。在网络传输中,我们可以讲十进制数据封装在nsdata中...
  • NSData操作小端模式

    2016-09-05 09:19:07
    假设一个NSData的内容是  现在求该指令的长度2字节放在最开始的位置,并且小端模式。  以前对byte的操作不熟悉,所以采取了以下方式:  1) 首先将NSData计算NSData的长度,然后转换成4位16进制字符串-000b, ...
  • NSdata 转换成 NSDictionary

    万次阅读 2018-08-13 07:09:53
    获得的json先转换成字符串NSString *receiveStr = [[NSString alloc]initWithData:receiveData encoding:...字符串再生成NSDataNSData * data = [receiveStr dataUsingEncoding:NSUTF8StringEncoding]; 再解析 NSDic
  • <p>I have UTF-8 encoded <code>NSData</code> from windows server and I want to convert it to <code>NSString</code> for iPhone. Since data contains characters (like a degree symbol) which have different...
  • 1,NSData 与 NSString  NSData --> NSString  NSString *aString = [[NSString alloc] initWithData:adata encoding:NSUTF8StringEncoding];  NSString --> NSData  NSString *aString = @"1234";  ...
  • NSData在IOS开发中是一个神奇的数据类型。比如说NSData可以与NSImage类型转换等等。NSData与JSON数据类型转换也是目前常用的热点。本文章是在实践基础上,给出示例代码来说明如何使用NSData,以及NSData与JSON,还有...
  •  NSData一般用于发送请求用,把图片,音频等都可以转化为NSData,这样在能在网络请求中可以直接发送了。  UIImage 就不多说了,它可以通过NSData生成,也可以从ALAsset中提取。  ALAsset类代表相册中的每个资源...
  • NSData / NSMutableData1.计算机中文件分为哪几种?文本文件和二进制文件,其中我们的图片、歌曲、电影等就是二进制文件,像'.txt'的文件就是文本文件。 2.客户端与服务器端,或者客户端与客户端数据交流的格式为二...
  • IOS上传图片有很多方法,一种是通过IOS提交NSData数据。 NSData传过来的数据是16进制的比如 &lt;ffd8ffe0 00104a46 49460001&gt;。 服务器得到16进制数据,要转换成二进制,才能写到图片。php语言,16...
  • NSData与UIImage之间的转换

    万次阅读 2014-08-15 13:35:38
    1 //NSData转换为UIImage 2 NSData *imageData = [NSData dataWithContentsOfFile: imagePath]; 3 UIImage *image = [UIImage imageWithData: imageData]; 4 5 //UIImage转换为NSData 6 NSData *imageData = ...
  • NSData数据类型的讲解

    千次阅读 2015-08-18 16:47:31
    NSData,数据,当我们需要把一些信息写入到文件里或发送到网络上,我们需要把这些数据转换下,变成纯粹的0、1字符流 也就是网络中要传数据的的时候,我们通常会用相应的NSData的数据来进行存储。 1、 NSData 与 ...
  • Swift调用OC之数据存储-NSData

    千次阅读 2015-03-11 20:23:50
    // Swift调用OC之数据存储NSData // // NSData的对象可以看做是缓冲区 // NSData是静态缓冲区(大小固定),NSMutableData是动态的 //  // 1.创建NSData // 2.访问数据(读取NSData) // 3.比较数据是否相同 //...
  • NSData转NSString时,返回为nil?

    千次阅读 2018-06-07 15:10:28
    错误原因:是由于在转换成二进制或者其他进制时,可能包含00,编码是UTF8,所获得的新字符...”,//将传入的NSData类型转换成NSString并返回-(NSString *)convertToNSString:(NSData *)data{ const unsigned char *...
1 2 3 4 5 ... 20
收藏数 58,264
精华内容 23,305
关键字:

nsdata