1. NSData 与 NSString
NSData-> NSString
NSString *aString = [[NSString alloc] initWithData:adataencoding:NSUTF8StringEncoding];
NSString->NSData
NSString *aString = @"1234abcd";
NSData *aData = [aString dataUsingEncoding: NSUTF8StringEncoding];
2.NSData 与 Byte
NSData-> Byte数组
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数组-> 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数组->16进制数
Byte *bytes = (Byte *)[aData bytes];
NSString *hexStr=@"";
for(int i=0;i<[encryData length];i++)
{
NSString *newHexStr = [NSString stringWithFormat:@"%x",bytes[i]&0xff];///16进制数
if([newHexStr length]==1)
hexStr = [NSString stringWithFormat:@"%@0%@",hexStr,newHexStr];
else
hexStr = [NSString stringWithFormat:@"%@%@",hexStr,newHexStr];
}
NSLog(@"bytes 的16进制数为:%@",hexStr);
16进制数->Byte数组
///// 将16进制数据转化成Byte 数组
NSString *hexString = @"3e435fab9c34891f"; //16进制字符串
int j=0;
Byte bytes[128]; ///3ds key的Byte 数组, 128位
for(int i=0;i<[hexString length];i++)
{
int int_ch; /// 两位16进制数转化后的10进制数
unichar hex_char1 = [hexString characterAtIndex:i]; ////两位16进制数中的第一位(高位*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进制数中的第二位(低位)
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; ///将转化后的数放入Byte数组里
j++;
}
NSData *newData = [[NSData alloc] initWithBytes:bytes length:128];
NSLog(@"newData=%@",newData);
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);
int 和NSdata的转化
int i =1;NSData *data =[NSDatadataWithBytes:&i length:sizeof(i)];
int i;[data getBytes:&i length:sizeof(i)];
相关推荐
- `+[NSData dataWithBytes:length:]`:提供`NSString`的UTF-8表示,使用`[string UTF8String]`获取字节数组,然后转换为`NSData`。 - `+[NSData dataUsingEncoding:]`:直接使用字符串的编码转换为`NSData`,如`...
这个“ios demo,NSData和NSString之间的相互转换的源代码”提供了实现这种转换的示例代码。 首先,让我们深入了解一下NSData和NSString的基本概念: 1. **NSData**:NSData是Foundation框架中的一个类,它代表了...
iOS NSString, char, NSData格式转化 iOS 开发中,我们经常需要在NSString、char、NSData之间进行格式转化,以满足不同的需求。下面我们将详细介绍这些格式转化的方法和示例代码。 NSString 转化为 UNICODE String...
本示例中的源码着重介绍了如何在Objective-C环境下,利用NSData和NSString进行AES加密与解密操作。 首先,AES是一种块加密算法,它将数据分为128位的块进行处理。在iOS中,通常通过CommonCrypto库来实现AES的加解密...
在iOS开发领域,`NSData`类扮演着至关重要的角色,它是Foundation框架的一部分,主要用于处理二进制数据。本文档旨在全面解析`NSData`的使用方法、功能特性以及在实际开发中的应用技巧,帮助开发者深入理解并高效...
总结来说,iOS开发中,利用NSData和NSDictionary的相互转换可以方便地处理数据的存储和传递。通过`NSKeyedArchiver`和`NSKeyedUnarchiver`,我们可以轻松地在两者之间进行序列化和反序列化操作。在处理JSON数据时,`...
在本文中,我们将探讨如何使用NSData与其他类型,特别是NSDictionary和JSON数据进行转换。 首先,NSData允许开发者将各种数据类型(如结构体、图像等)转换为二进制格式,以便于存储或在网络上传输。例如,在提供的...
在iOS应用开发中,NSData是Objective-C中的一个基础类,用于处理各种形式的数据,包括二进制、文本或图像数据。这个"NSData"压缩包文件很可能是包含了一系列关于如何使用NSData进行数据操作的示例代码或者教程。...
NSData+Crypto是一个 Mac 和 iOS 的NSData和NSString包装器,用于 CommonCrypto 框架的摘要方法。 包装了以下摘要函数: MD2 MD4 MD5 沙1 sha224 sha256 sha384 sha512 所有摘要函数都可用于NSData 、 ...
本教程将详细讲解如何将iOS中的数组和字典转换为JSON格式,这对于发送网络请求或保存本地数据尤为关键。 首先,我们要了解JSON的基本结构。JSON是一种基于文本的数据交换格式,它主要由对象(字典)和数组构成。在...
在IT行业中,编码和解码是数据传输与存储的关键环节,Ascii85编码是一种用于高效、节省空间地表示二进制数据的机制。本文将深入探讨Ascii85编码,以及如何在Objective-C中利用类别(Category)为NSData和NSString...
1. **获取NSString的UTF8编码**:NSString可以通过`dataUsingEncoding:`方法转换为NSData,通常选择UTF8编码。 ```objc NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding]; ``` 2. **遍历NSData的每一...
ios相关数据类型之间的互换//NSData 转 NSString //NSString 转 NSData//NSArray 转 NSString char 转NSString
总结起来,iOS应用中实现gzip数据压缩主要依赖于ASIHTTPRequest框架,它可以便捷地处理请求和响应的gzip压缩与解压缩。同时,GZipUtil工具类提供了一些辅助功能,方便开发者对NSData对象进行gzip操作。通过合理利用...
以下性能指标可用于与2012年提供的库进行比较,并且可能无法反映当前的性能。 如有疑问,请使用系统提供的功能。 用法:可可豆脚-已淘汰 将以下行添加到您的Podfile中: source '...
例如,`NSFileManager`用于文件的创建、删除、复制等操作,`NSData`可以读取文件内容并转化为字节数组,`NSString`则可以处理文本文件的读写。在实际使用时,还需要注意文件权限、沙盒限制以及错误处理等问题。 在...
### NSData扩展:深入解析与应用 在iOS开发中,`NSData`类是处理二进制数据的核心类之一,它提供了一系列方法来存储、检索和操作数据。然而,原生的`NSData`类并不包含所有开发者可能需要的功能,尤其是在处理如...
ios下面的AES加解密库 @interface NSData (AESCrypt) - (NSData *)AES256EncryptWithKey:(NSString *)key; - (NSData *)AES256DecryptWithKey:(NSString *)key; + (NSData *)dataWithBase64EncodedString:...
在解析xib文件的时候发现有的节点内容的编码是 base64-UTF8,其实这个节点内容的编码顺序是先将NSString转化为utf8格式的NSData,再将NSData通过base64加密。刚拿到这样的字符串的时候感觉有点绕,但是仔细分析下来...
在iOS开发中,处理XML数据时,有时需要将XML文件转化为NSData对象,以便于存储、传输或者进一步解析。本文将详细介绍如何实现这一过程,并探讨相关知识点。 首先,让我们看看如何将XML文件转化为NSData对象。在...