Nsdata,nsimage,nsdictionary,nsstring,nsinteger,float,nsurl and so on convert each other
One: NSString and Nsurl Conversion
[CPP]View Plaincopyprint?
- Nsstring->nsurl
- NSString *urlstring=[@ "http://www.google.com" stringbyaddingpercentescapesusingencoding:nsutf8stringencoding];
- Nsurl *url=[nsurl urlwithstring:urlstring];
- Nsurl->nsstring
- NSString *urlstring=[[url absolutestring] stringbyreplacingpercentescapesusingencoding:nsutf8stringencoding];
Two: NSString and NSData conversions (JSON strings can be converted to each other)
[CPP]View Plaincopyprint?
- Nsdata-> NSString
- NSString *teststring = [[NSString alloc] Initwithdata:testdata encoding:nsutf8stringencoding];
- Nsstring->nsdata
- NSString *astring = @ "I am nsstring";
- NSData *testdata = [teststring datausingencoding:nsutf8stringencoding];
Three: NSData and Nsimage conversion
[CPP]View Plaincopyprint?< param name= "wmode" value= "Transparent" >
- Nsdata->uiimage
- UIImage *testimage = [UIImage imagewithdata:imagedata];
- Uiimage->nsdata
- NSData *imagedata = uiimagepngrepresentation (testimage)
- Or
- NSData *imagedata = uiimagejpegrepresentation (testimage,1.0)
IV: NSData and Nsdictionary conversion
[CPP]View Plaincopyprint?
- Nsdata-->nsdictionary
- Nsdictionary *testdict = [Nsjsonserialization jsonobjectwithdata:testdata options:nsjsonreadingmutablecontainers Error:nil]
- Or
- Nskeyedunarchiver *unarchiver = [[Nskeyedunarchiver alloc] initforreadingwithdata:testdata];
- Nsdictionary *mydictionary = [[Unarchiver decodeobjectforkey:@ "Some Key Value"] retain];
- [Unarchiver finishdecoding];
- Nsdictionay-NSData
- Nsmutabledata *data = [[Nsmutabledata alloc] init];
- Nskeyedarchiver *archiver = [[Nskeyedarchiver alloc] initforwritingwithmutabledata:data];
- [Archiver encodeobject:params forkey:@ "Some Key Value"];
- [Archiver finishencoding];
V: nsdictionary and JSON conversion
[CPP]View Plaincopyprint?
- Nsdictionary-JSON://This method is in the Sbjson class library, you need to import SBJson.h
- NSString *jsonstr=[dict Jsonrepresentation];
- Recommendations (especially HTTP retrieval of the JSONSTR conversions below)
- Json->nsdictionary:
- NSData *jsondata = [Testjsonstr datausingencoding:nsutf8stringencoding];
- Nsdictionary *dict = [nsjsonserialization jsonobjectwithdata:jsondata options:nsjsonreadingmutablecontainers Error: Nil
Excerpt from another student's
NSData with byte
nsdata-> byte array
nsstring *teststring = @ "1234567890";
NSData *testdata = [teststring datausingencoding:nsutf8stringencoding];
Byte *testbyte = (BYTE *) [testData bytes];
for (int i=0;i<[testdata length];i++)
printf ("Testbyte =%d\n", testbyte[i]);
byte array, 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];
byte array->16 binary
byte *bytes = (BYTE *) [aData bytes];
NSString *[email protected] "";
for (int i=0;i<[encrydata length];i++)
{
NSString *newhexstr = [NSString stringwithformat:@ "%x", Bytes[i] &0xff]; 16 Binary number
if ([Newhexstr length]==1)
Hexstr = [NSString stringwithformat:@ "%@0%@", hexstr,newhexstr];
else
Hexstr = [NSString stringwithformat:@ "%@%@", Hexstr,newhexstr];
}
NSLog (@ "bytes 16 binary number is:%@", hexstr);
Nsdata,nsimage,nsdictionary,nsstring,nsinteger,float,nsurl and so on convert each other