2016年3月14日 星期一

iOS筆記:NSData轉格式

NSData <=>  Int/NSUInteger
NSData <=>  NSString




- (void)readInt {
    NSUInteger index = 612111; //0x9570F (16進位) //612111 (10進位)
    NSData *data1 = [NSData dataWithBytes:&index length:sizeof(index)];
    NSLog(@"data1:%@", data1); //data1:<0f570900 00000000>
    
    int i = 1355;//0x54B (16進位) //1355 (10進位)
    NSData *data2 = [NSData dataWithBytes: &i length: sizeof(i)];
    int i2;
    [data2 getBytes: &i2 length: sizeof(i2)];
    NSLog(@"data2:%@, %d", data2, i2); //<data2:4b050000>, 1355
}


- (void)readString{
    NSString * string =@"abc";
    NSData* data = [string dataUsingEncoding:NSUTF8StringEncoding];
    NSLog(@"data context: \n%@",data);
    NSString *dataString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    NSLog(@"dataString: %@",dataString);    

    const char* fileBytes = (const char*)[data bytes];
    NSUInteger length = [data length];
    NSUInteger index;
    for (index = 0; index<length; index++)
    {
        char aByte = fileBytes[index];
        NSLog(@"char: \n%c", aByte);
    }
}

沒有留言:

張貼留言