Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSString的initWithData和initWithBytes之间的差异_Ios_Nsstring_Byte_Nsdata - Fatal编程技术网

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:
    ,而无需首先包装它