中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

ios數(shù)據(jù)類型轉(zhuǎn)換

2018-07-20    來源:open-open

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

ios開發(fā)-數(shù)據(jù)類型轉(zhuǎn)換

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];


Byte數(shù)組->16進制數(shù)

Byte *bytes = (Byte *)[aData bytes];

NSString *hexStr=@"";

for(int i=;i<[encryData length];i++)

{

NSString *newHexStr = [NSString stringWithFormat:@"%x",bytes[i]&0xff];///16進制數(shù)

if([newHexStr length]==1)

hexStr = [NSString stringWithFormat:@"%@0%@",hexStr,newHexStr];

else 

hexStr = [NSString stringWithFormat:@"%@%@",hexStr,newHexStr];

}

NSLog(@"bytes 的16進制數(shù)為:%@",hexStr);



     

16進制數(shù)->Byte數(shù)組

///// 將16進制數(shù)據(jù)轉(zhuǎn)化成Byte 數(shù)組

NSString *hexString = @"3e435fab9c34891f"; //16進制字符串

int j=;

Byte bytes[128];  ///3ds key的Byte 數(shù)組, 128位

for(int i=;i<[hexString length];i++)

{

int int_ch;  /// 兩位16進制數(shù)轉(zhuǎn)化后的10進制數(shù)

 

unichar hex_char1 = [hexString characterAtIndex:i]; ////兩位16進制數(shù)中的第一位(高位*16)

int int_ch1;

if(hex_char1 >= '0' && hex_char1 <='9')

int_ch1 = (hex_char1-48)*16;   //// 0 的Ascll - 48

else if(hex_char1 >= 'A' && hex_char1 <='F')

int_ch1 = (hex_char1-55)*16; //// A 的Ascll - 65

else 

int_ch1 = (hex_char1-87)*16; //// a 的Ascll - 97

i++;

 

unichar hex_char2 = [hexString characterAtIndex:i]; ///兩位16進制數(shù)中的第二位(低位)

int int_ch2;

if(hex_char2 >= '0' && hex_char2 <='9')

int_ch2 = (hex_char2-48); //// 0 的Ascll - 48

else if(hex_char1 >= 'A' && hex_char1 <='F')

int_ch2 = hex_char2-55; //// A 的Ascll - 65

else 

int_ch2 = hex_char2-87; //// a 的Ascll - 97

 

int_ch = int_ch1+int_ch2;

NSLog(@"int_ch=%d",int_ch);

bytes[j] = int_ch;  ///將轉(zhuǎn)化后的數(shù)放入Byte數(shù)組里

j++;

}

NSData *newData = [[NSData alloc] initWithBytes:bytes length:128];

NSLog(@"newData=%@",newData);

 

3,NSData 與 UIImage

NSData --> UIImage

UIImage*aimage = [UIImage imageWithData: imageData];

//例:從本地文件沙盒中取圖片并轉(zhuǎn)換為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=[NSDatadataWithData:data];

 

5.NSDictionary類型轉(zhuǎn)換為NSData類型:

//NSDictionary -> NSData:

 NSDictionary *params = [NSDictionarydictionaryWithObjectsAndKeys: @"balance", @"key", @"remaining balance",@"label",  @"45", @"value",   @"USD", @"currencyCode",nil];        

   NSMutableData *data =[[NSMutableData alloc] init];

 NSKeyedArchiver *archiver = [[NSKeyedArchiveralloc] initForWritingWithMutableData:data];

 [archiver encodeObject:paramsforKey:@"Some Key Value"];

 [archiver finishEncoding];

 

6.NSData類型轉(zhuǎn)換為NSDictionary類型:

//NSData -> NSDictionary

 NSData *data = [[NSMutableData alloc]initWithContentsOfFile:[self dataFilePath]];

 NSKeyedUnarchiver *unarchiver =[[NSKeyedUnarchiver alloc] initForReadingWithData:data];

 NSDictionary *myDictionary = [[unarchiverdecodeObjectForKey:@"Some Key Value"] retain];

[unarchiver finishDecoding];[unarchiver release];

 [data release];

 

7: NSData NSArray 轉(zhuǎn)換

  NSArray *arr1= [[NSArray alloc]initWithObjects:@"0",@"5",nil];

    NSData *data= [NSKeyedArchiver archivedDataWithRootObject:arr1];

    NSArray *arr2= [NSKeyedUnarchiver unarchiveObjectWithData:data];


    NSLog(@"->%@",[arr1 objectAtIndex:1]);
    NSLog(@"->%@",[arr2 objectAtIndex:1]);

標簽:

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:Android 開啟和關(guān)閉Wifi的代碼

下一篇:Android實現(xiàn)電話錄音