NSDate和NSData

NSDate

日期对象提供了一些操作时间的基本功能。可以比较哪个日期更早(-earlierDate:),以及两个日期之间间隔的秒数(-timeIntervalSinceDate:)。NSDate真正的亮点是和NSCalendar一起使用,可用以计算涉及时区或闰年问题的两个时间之间间隔的月数和天数。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"'公元前/后:'G  '年份:'u'='yyyy'='yy '季度:'q'='qqq'='qqqq '月份:'M'='MMM'='MMMM '今天是今年第几周:'w '今天是本月第几周:'W  '今天是今天第几天:'D '今天是本月第几天:'d '星期:'c'='ccc'='cccc '上午/下午:'a '小时:'h'='H '分钟:'m '秒:'s '毫秒:'SSS  '这一天已过多少毫秒:'A  '时区名称:'zzzz'='vvvv '时区编号:'Z "];
NSLog(@"%@", [dateFormatter stringFromDate:[NSDate date]]);

NSData

作为一个非结构化字节流的值对象,NSData提供了管理数据缓冲区的机制。数据对象通常需要存储在磁盘上,因此提供了读取方法(+dataWithContentsOfFile:)和写入方法(-writeToFile:atomically:)。

这些数据块常常用来创建其他实例对象。例如,NSString可以用NSData来创建。同样,也可以使用UIImage对象的-initWithData:方法来创建一个图片。


字节流(byte stream)   不包含边界数据的连续流   字节流是由字节组成的,字符流是由字符组成的. Java里字符由两个字节组成.字节流是最基本的,所有的InputStrem和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化。在从字节流转化为字符流时,实际上就是byte[]转化为String时,public String(byte bytes[], String charsetName)有一个关键的参数字符集编码,通常我们都省略了,那系统就用操作系统默认的lang   流式传输主要指将整个音频和视频及三维媒体等多媒体文件经过特定的压缩方式解析成一个个压缩包,由视频服务器向用户计算机顺序或实时传送。在采用流式传输方式的系统中,用户不必像采用下载方式那样等到整个文件全部下载完毕,而是只需经过几秒或几十秒的启动延时即可在用户的计算机上利用解压设备对压缩的A/V、3D等多媒体文件解压后进行播放和观看。此时多媒体文件的剩余部分将在后台的服务器内继续下载。

你可能感兴趣的:(ios)