1

次の方法の使用と混同していますNSString

  1. initWithData:encoding:

    指定されたエンコーディングを使用して指定されたデータを Unicode 文字に変換することによって初期化された NSString オブジェクトを返します。

  2. initWithBytes:length:encoding:

    指定されたエンコーディングで解釈されたバイトの指定されたバッファから、指定されたバイト数を含む初期化された NSString オブジェクトを返します。

そして、それらの使用法は次のようなものです:

NSMutableData *someData = //some data;
NSString *someString = nil;
  • someString= [[NSString alloc] initWithData:someData encoding:NSUTF8StringEncoding];

  • someString=[[NSString alloc] initWithBytes:[someData mutableBytes] length:[someData length] encoding:NSUTF8StringEncoding];

NSDataclass はbyte buffersのラッパーです。これらの同様のメソッドの違いは何ですか。違いを理解するのを手伝ってください。

4

1 に答える 1

4

NSDataまあ、まだオブジェクトにラップされていない未加工のバイトがあるかもしれません。その場合はinitWithBytes:length:encoding:最初にラッピングしなくてもご利用いただけます。

于 2012-12-06T12:13:29.290 に答える