Ios NSString的initWithData和initWithBytes之间的差异
我对以下Ios NSString的initWithData和initWithBytes之间的差异,ios,nsstring,byte,nsdata,Ios,Nsstring,Byte,Nsdata,我对以下NSString initWithData:编码: 返回通过将给定数据转换为 使用给定编码的Unicode字符 initWithBytes:长度:编码: 返回初始化的NSString对象,该对象包含给定编码中解释的给定字节缓冲区中给定数量的字节 它们的用法如下: NSMutableData *someData = //some data; NSString *someString = nil; someString=[[NSString alloc]initWithData:so
NSString
initWithData:编码:
返回通过将给定数据转换为
使用给定编码的Unicode字符
initWithBytes:长度:编码:
返回初始化的NSString对象,该对象包含给定编码中解释的给定字节缓冲区中给定数量的字节
NSMutableData *someData = //some data;
NSString *someString = nil;
someString=[[NSString alloc]initWithData:someData编码:NSUTF8StringEncoding]代码>
someString=[[NSString alloc]initWithBytes:[someData mutableBytes]长度:[someData length]编码:NSUTF8StringEncoding]代码>
NSData
类是字节缓冲区的包装,那么这些类似方法之间的区别是什么。请帮助我理解差异。好吧,您可能有一些原始字节尚未包装在NSData
对象中。在这种情况下,您可以使用initWithBytes:length:encoding:
,而无需先将其包装。好的,您可能有一些原始字节尚未包装在NSData
对象中。在这种情况下,您可以使用initWithBytes:length:encoding:
,而无需首先包装它