- 浏览: 624358 次
文章分类
最新评论
-
q781253433:
qin ~.求demo看看~
Android之Widget -
zhongyuanceshi:
博主,没看到你的例子的Demo,共享下
Android之Widget
原文:http://w11h22j33.iteye.com/blog/1333521
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);
发表评论
-
tableview FPS 优化
2016-06-28 11:26 1现状: 在滚动tableview ... -
iOS 开发者中的公司账号与个人账号之间有什么区别?
2016-06-23 14:54 500原文:http://www.zhihu.com/questio ... -
strong weak copy
2016-04-24 21:01 629copy的使用 如果是mutable,则co ... -
App性能优化思考
2015-10-13 15:24 908一个app的数据 启动时间 crash率 每个 ... -
iOS之手势操作
2015-01-19 10:24 781手势学习: https://developer. ... -
iOS之网络学习
2015-01-19 10:23 643网络学习: http://nshipster.c ... -
nib文件的加载过程
2014-10-24 13:39 793参考:http://blog.csdn.net/nokiax ... -
NSCoder&&NSCoding使用
2014-10-24 11:38 757NScoder和NScoding的作用是将自定义的类的对象持 ... -
Autolayout学习
2014-10-20 16:32 744参考: http://my.oschina. ... -
IOS开发屏幕适配总结
2014-10-20 16:28 452面对4个分辨率的iPhone,建议使用Auto Layou ... -
Size Classes学习
2014-10-20 16:27 765Size Classes介绍:http://blog.su ... -
iPhone6分辨率以及适配
2014-10-20 11:36 1307对iPhone6适配的两种方式:1、兼容模式 这种模式 ... -
Core Animation简介
2014-10-19 15:33 778在iOS中,整个view都是直接构建在Core Animat ... -
Charles使用——HTTP代理服务器
2014-10-19 15:32 2054* HTTP代理服务器,监听8888端口 * HTTP监视 ... -
《精选》开发中遇到的问题总结
2014-10-19 15:31 10081、新浪微博的使用 使用的事umeng的SDK来调用微信、 ... -
使用JavaScript给UIWebView中的内容注入CSS
2014-10-06 21:26 1156NSString *filePath = [[NSB ... -
UIViewde的属性edgesForExtendedLayout
2014-09-26 17:56 692edgesForExtendedLayout 指定边缘 ... -
UIView的属性autoresizingMask
2014-09-26 17:36 764在 UIView 中有一个autoresizingMask ... -
UIWebView获取内容的高度
2014-09-24 13:13 744// 第一种方法 ... -
storyboard的总结
2014-09-02 11:30 735两个基本概念 scene 就是一个视图控制器 se ...
相关推荐
总之,理解并熟练掌握`NSData`、`NSString`以及`UIImage`之间的转换,是iOS和macOS开发中的基本技能,能有效提升代码的灵活性和可维护性。在具体项目中,应根据实际情况选择合适的转换方式,确保数据处理的准确性和...
这个“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的加解密...
在本文中,我们将探讨如何使用NSData与其他类型,特别是NSDictionary和JSON数据进行转换。 首先,NSData允许开发者将各种数据类型(如结构体、图像等)转换为二进制格式,以便于存储或在网络上传输。例如,在提供的...
NSData+Crypto是一个 Mac 和 iOS 的NSData和NSString包装器,用于 CommonCrypto 框架的摘要方法。 包装了以下摘要函数: MD2 MD4 MD5 沙1 sha224 sha256 sha384 sha512 所有摘要函数都可用于NSData 、 ...
总结来说,iOS开发中,利用NSData和NSDictionary的相互转换可以方便地处理数据的存储和传递。通过`NSKeyedArchiver`和`NSKeyedUnarchiver`,我们可以轻松地在两者之间进行序列化和反序列化操作。在处理JSON数据时,`...
在IT行业中,编码和解码是数据传输与存储的关键环节,Ascii85编码是一种用于高效、节省空间地表示二进制数据的机制。本文将深入探讨Ascii85编码,以及如何在Objective-C中利用类别(Category)为NSData和NSString...
ios相关数据类型之间的互换//NSData 转 NSString //NSString 转 NSData//NSArray 转 NSString char 转NSString
以下性能指标可用于与2012年提供的库进行比较,并且可能无法反映当前的性能。 如有疑问,请使用系统提供的功能。 用法:可可豆脚-已淘汰 将以下行添加到您的Podfile中: source '...
在iOS开发中,录制视频流并将其转换为UIImage是一项常见的需求,这通常涉及到多媒体处理、图形编程以及实时渲染等技术。下面将详细讲解这个过程涉及的知识点。 首先,我们需要了解如何在iOS上进行实时视频录制。...
在Objective-C中,数组(NSArray)和字典(NSDictionary)与JSON对应。字典是键值对的集合,而数组是有序元素的集合。 要将数组和字典转换为JSON字符串,我们需要使用Foundation框架中的`NSJSONSerialization`类。...
+(UIImage*)loadGifWithImageName:(NSString *)name{ NSString *path = [[NSBundle mainBundle] pathForResource:name ofType:@"gif"]; NSData *gifData = [NSData dataWithContentsOfFile:path]; return ...
### NSData扩展:深入解析与应用 在iOS开发中,`NSData`类是处理二进制数据的核心类之一,它提供了一系列方法来存储、检索和操作数据。然而,原生的`NSData`类并不包含所有开发者可能需要的功能,尤其是在处理如...
在iOS应用开发中,我们可能需要对NSString(字符串)或NSData(二进制数据)进行MD5加密。标题提到的“一行代码搞定NSString和NSData的md5加密”意味着存在一个高效且简洁的方法来实现这个功能。 在Swift中,尽管...
- (NSData *)AES256EncryptWithKey:(NSString *)key; - (NSData *)AES256DecryptWithKey:(NSString *)key; + (NSData *)dataWithBase64EncodedString:(NSString *)string; - (id)initWithBase64EncodedString:...
- (NSData *)AES256EncryptWithKey:(NSString *)key; - (NSData *)AES256DecryptWithKey:(NSString *)key; + (NSData *)dataWithBase64EncodedString:(NSString *)string; - (id)initWithBase64EncodedString:...
### 二、`NSData`的主要功能与方法 #### 1. 数据初始化与创建 `NSData`提供了多种方式来创建数据对象: - `+ (instancetype)dataWithContentsOfFile:(NSString *)path`:从指定文件路径加载数据。 - `+ ...
`NSString`则用于表示文本字符串,这三者之间常常需要进行转换以满足不同的需求。本Demo代码着重展示了如何在这些类型间进行有效地转换。 `NSDate`是Foundation框架中的类,用于表示一个精确的时间点,通常以协调...
在解析xib文件的时候发现有的节点内容的编码是 base64-UTF8,其实这个节点内容的编码顺序是先将NSString转化为utf8格式的NSData,再将NSData通过base64加密。刚拿到这样的字符串的时候感觉有点绕,但是仔细分析下来...