; char *str3="C C string"; NSData *data1=[NSData dataWithBytes:str length:strlen(str NSLog(@"不可变的data1的长度是:%d,输出指针:%s",[data1 length],[data1 bytes]);//length是字节的长度,bytes是返回一个指针 NSData *data2=[NSData dataWithBytes:str2 length:strlen(str2)+1];//用于追加到可变G的mdata的中间对象 NSMutableData strlen(str)+1是因为字符串最后的结尾符并未被计算成字符所以得加上一,’\0’的ASCII是00; NSMutableData是NSData的子类
]; NSString->NSData NSString *aString = @"1234abcd"; NSData *aData = [aString dataUsingEncoding: NSUTF8StringEncoding ]; 2.NSData 与 Byte NSData-> Byte数组 NSString *testString = @"1234567890"; NSData *testData = [testString 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 *newData = [[NSData alloc] initWithBytes:bytes length:128]; NSLog(@"newData=%@",newData); NSData 与 ]; UIImage-> NSData NSData *imageData = UIImagePNGRepresentation(aimae);
最近在完成一个需求时,遇到了NSData类型转换为十六进制的字符串这个需求的函数,在stackoverflow中翻找的时候,给出的答案基本上是如下的: NSString* newStr = [[NSString 转换为NSData中存储的十六进制字符串的功能,所以在最终找到答案之后,决定记录下来,以便下次使用可以快速查找。 - (NSData *)convertHexStrToData:(NSString *)str { if (! - (NSString *)convertDataToHexStr:(NSData *)data { if (! 的NSData作为参数传入时,返回的字符串为400。转换完成。
在我开发项目的过程中,后台将我需要的地图数据传过来,我这边是以json的形式接收,但是后台传过来的时候,只是将数据的byte数组直接扔给我,我这边解析出来,发现是一个string类型,我这边需要将这个数据封装成NSData 这个二进制流的处理还是没有得到解决,后来参考安卓的实现方法,在网上找到了一个base64的编码解码文件,将其导入项目,再解码,就得到了我想要的NSData,这对于后台直接给我们iOS扔byte数组有致命的解决办法 Base64编码 NSString *myStr = @"SJSNDML+msdmmmd=snkamKSKSNDNMMASNSBDNKANMDSA+=DSA==DSAKMSA"; //这种类型 NSData
*)DESEncrypt:(NSData *)data WithKey:(NSString *)key 函数描述 : 文本数据进行DES加密 输入参数 : (NSData *)data (NSString *)key 输出参数 : N/A 返回参数 : (NSData *) 备注信息 : 此函数不可用于过长文本 ****************************************** ************************************/ + (NSData *)DESEncrypt:(NSData *)data WithKey:(NSString *)key { *)DESEncrypt:(NSData *)data WithKey:(NSString *)key 函数描述 : 文本数据进行DES解密 输入参数 : (NSData *)data (NSString ************************************/ + (NSData *)DESDecrypt:(NSData *)data WithKey:(NSString *)key {
} //是否进行缓存处理 if isCache { //缓存管理类 var data:NSData? var data:NSData?=NSData(contentsOfURL: URL) if data ! var data:NSData?=NSData(contentsOfURL: URL) if data ! 缓存的核心代码如下: class func readCacheFromUrl(url:NSString)->NSData?{ var data:NSData? NSData } return data } class func writeCacheToUrl(url:NSString, data:NSData
console.log('写入失败'); } } else if (mui.os.ios) { var NSData = plus.ios.importClass('NSData'); var nsData = new NSData(); nsData = nsData.initWithBase64EncodedStringoptions(mv, 0); if (nsData) { nsData.plusCallMethod atomically: true }); plus.ios.deleteObject(nsData
ios开发-数据类型转换 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 }; NSData *adata = [[NSData alloc] initWithBytes:byte length:24]; Byte数组->16进制数 Byte *bytes = ]; UIImage-> NSData NSData*imageData = UIImagePNGRepresentation(aimae); 4,NSData 与 NSMutableData NSData
*)DESEncrypt:(NSData *)data WithKey:(NSString *)key 函数描述 : 文本数据进行DES加密 输入参数 : (NSData *)data (NSString *)key 输出参数 : N/A 返回参数 : (NSData *) 备注信息 : 此函数不可用于过长文本 ********************************************** ********************************/ + (NSData *)DESEncrypt:(NSData *)data WithKey:(NSString *)key { char *)DESEncrypt:(NSData *)data WithKey:(NSString *)key 函数描述 : 文本数据进行DES解密 输入参数 : (NSData *)data (NSString ********************************/ + (NSData *)DESDecrypt:(NSData *)data WithKey:(NSString *)key { char
iOS常用加密方法(aes、md5、base64) 1、AES加密 NSData+AES.h文件 // // NSData-AES.h // Smile (Encryption) - (NSData *)AES256EncryptWithKey:(NSString *)key; //加密 - (NSData *)AES256DecryptWithKey :(NSString *)key; //解密 @end NSData+AES.m文件 // // NSData-AES.h // Smile NSData (Encryption) - (NSData *)AES256EncryptWithKey:(NSString *)key {//加密 char keyPtr 的形式存下来,如果想以nsstring形式存储,那么对nsdata进行base64位编码。
*data = [NSData dataWithContentsOfURL:url]; UIImage *image = [UIImage imageWithData:data]; 下载图片 NSData *data = [NSData dataWithContentsOfURL:url]; // 3.将NSData转换为图片 UIImage *data = [NSData dataWithContentsOfURL:url]; UIImage *image = [UIImage imageWithData:data]; *data = [NSData dataWithContentsOfURL:url]; image1 = [UIImage imageWithData:data]; }]; *data = [NSData dataWithContentsOfURL:url]; image2 = [UIImage imageWithData:data]; }];
其他 这里有其他简友伊布林提供的另一份打印机指令集的文档地址: 打印机指令集文档 这里有我最初用最原始的指令集拼接出来的NSData代码片段,供大家参考: // 打印机支持的文字编码 *initData = [NSData dataWithBytes:initBytes length:sizeof(initBytes)]; //换行 Byte nextRowBytes[] = {0x0A}; NSData *nextRowData = [NSData dataWithBytes:nextRowBytes *centerData= [NSData dataWithBytes:centerBytes length:sizeof(centerBytes)]; //居左 Byte leftBytes[] = {0x1B,0x61,0}; NSData *leftdata= [NSData dataWithBytes
首先我们创建一个NSData的类扩展,命名为AES,创建完如果对的话应该是这样的NSData+AES然后导入如下头文件 #import <CommonCrypto/CommonDigest.h> #import (AES) //加密 - (NSData *) AES256_Encrypt:(NSString *)key; //解密 - (NSData *) AES256_Decrypt:(NSString (AES) //加密 - (NSData *) AES256_Encrypt:(NSString *)key{ char keyPtr[kCCKeySizeAES256+1]; bzero *data = [NSData dataWithBytes:cstr length:self.length]; //对数据进行加密 NSData *result = [data AES256 加密+base64 NSData *plain = [secret dataUsingEncoding:NSUTF8StringEncoding]; NSData *cipher =
*base64_decode(NSString *str){ NSData *data = [[NSData alloc] initWithBase64EncodedString:str options = noErr){ return nil; } return keyRef; } + (NSData *)stripPublicKeyHeader:(NSData *) = '\0') return(nil); // Now make a new NSData from this buffer return ([NSData dataWithBytes: &c_key[idx] length:len - idx]); } + (NSData *)encryptData:(NSData *)data withKeyRef:(SecKeyRef) keyRef = noErr){ return nil; } return keyRef; } + (NSData *)stripPrivateKeyHeader:(NSData *
iOS第三方文件压缩框架——Godzippa Godzippa是iOS开发中常用的一个第三方数据压缩框架,其采用类别的方式,为NSData类与NSFileManager类提供了压缩和解压缩数据的方法 NSData类别中提供的方法如下: //进行数据压缩操作 - (NSData *)dataByGZipCompressingWithError:(NSError * __autoreleasing *) error; //进行数据压缩操作,支持配置缓存区大小,压缩比等参数 - (NSData *)dataByGZipCompressingAtLevel:(int)level strategy error:(NSError * __autoreleasing *)error; //进行数据解压缩操作 - (NSData *)dataByGZipDecompressingDataWithError:(NSError * __autoreleasing *)error; - (NSData *)dataByGZipDecompressingDataWithWindowSize
检查对象是否是那个类或者其继承类实例化的对象 1 isMemberOfClass:Class 检查对象是否是那个类但不包括继承类而实例化的对象 示例: Objective-c代码 if ([item isKindOfClass:[NSData bytes]; unsigned int length = [item length]; // ... } 如果item是NSMutableData类实例化的对象,而该类是NSData 类的子类,那么[item isKindOfClass:[NSData class]]的值也是TRUE,而[item isMemberOfClass:[NSData class]]的值则为False。 如果item是NSData类实例化的对象,那么[item isMemberOfClass:[NSData class]]的值则为TRUE。
NSData和NSMutableData -来自360doc NSData和NSMutableData存储的是二进制数据,在文件操作,网络,以及核心图形图像中使用较广泛。 NSData创建后不可以再修改,NSMutableData可以再次修改。 1、NSString和NSData之间的转换 NSString *string = @“哎我去上市了!" ; //1、字符串转换成NSData NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding]; //2、NSData 3、NSNumber、NSArray、NSDictionary和NSData之间的转换 数组转NSData是建立在归档的基础上,归档也称为序列化,OC中NSString 对象、NSNumber ,在从NSData解归档 NSData *UndictData = [fm contentsAtPath:docPath]; NSDictionary *Undict = [NSKeyedUnarchiver
'userId':'35617236572 35617236572','userPsw':'小红','content':''1521***6657"]; NSLog(@"原始数据:%@",str); NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding]; NSData *aaa = [data AES128EncryptWithKey:@"dt8888 base64加解密使用 GTMBase64添加两个方发如下: //加密 + (NSString*)encodeBase64Data:(NSData *)data { data = [GTMBase64 *)decodeBase64String:(NSString * )input { NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding 分类,增加两个方法 //加密 - (NSData *)AES128EncryptWithKey:(NSString *)key { char keyPtr[kCCKeySizeAES128
= nil) { continue; } KVC赋值 [self setValue:value forKey:key]; 三、补充 1、拿到的可能不是Json字典,而是Json字符串或者是二进制类型NSData isKindOfClass:[NSDictionary class]]) { return json; } NSDictionary *dict = nil; NSData *jsonData = nil; // 如果是NSString,就先转化为NSData if ([json isKindOfClass:[NSString class]]) jsonData = [(NSString *)json dataUsingEncoding:NSUTF8StringEncoding]; } else if ([json isKindOfClass:[NSData class]]) { jsonData = json; } // 如果时NSData类型,使用NSJSONSerialization if (jsonData
{ NSLog(@"fail: code: %d, msg: %@", code, msg); }]; } 注意事项 key是NSString类型,value是NSData { NSLog(@"fail: code: %d, msg: %@", code, msg); }]; 注意事项 自定义字段集合,key是NSString类型,value是NSData / 修改群自定义字段集合 - (int)modifyGroupCustomInfo:(NSString\*)groupId customInfo:(NSDictionary<NSString \*,NSData (TIMGroupInfo \*)queryGroupInfo:(NSString \*)groupId; 示例 修改自定义字段 NSString\* value = @"TestValue"; NSData \*)data; ///获取 CustomData - (NSData\*)customData; 示例 // 设置 imMsg.customInt = 1; imMsg.customData