1

NSData を NSString オブジェクトに変換するこのメソッドを見つけました。

NSData *data = //some data
NSString *string = [NSString stringWithFormat:@"%@", data];

データはどのようにデコードされますか? NSUTF8StringEncoding適用されますか?

ありがとうございました!

4

3 に答える 3

7

これは推奨される方法ではありません。代わりに次を使用します。

NSString *newString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

これにより、データのエンコーディングが指定されていることが保証されます。

于 2012-10-31T20:06:17.757 に答える
4

この場合、stringWithFormat:メソッドはNSDataオブジェクトにdescriptionメッセージを送信し、結果を取得し、それを新しく作成された文字列のコンテンツに使用します。基本的に、結果は次と同じです

NSString *string = [data description];

NSDataのドキュメントによると、description戻り値

受信者のコンテンツの 16 進表現を NSData プロパティ リスト形式で含む NSString オブジェクト。

于 2012-10-31T20:05:33.790 に答える
0

You probably should be using NSString *string = [[NSString alloc] initWithData: data encoding:SomeFormOfEncoding];

You can view the method details here.

The forms of encoding can be seen here.

于 2012-10-31T20:10:30.260 に答える