5

NSData を NSString に変換しようとしたコードを次に示しますが、プログラムは「Program received signal: SIGABRT」を返します。

NSString *string= [NSString stringWithUTF8String:[data bytes]];

また

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

他に良い方法はありますか?

4

3 に答える 3

7

これは、その方法を示す非常に賛成の回答です。手短に:

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

最初のアイデアは、 を送信したために失敗したように見え[data bytes]ます。stringWithUTF8String は void * に対して準備されていません。2 番目のアイデアは、入力が nil の場合でも機能するように見えます。

于 2012-10-16T02:37:45.340 に答える
3

このコードを使用

NSString* myString;
myString = [[NSString alloc] initWithData:nsdata encoding:NSASCIIStringEncoding];

このチュートリアルも参照してください..

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html

:)

于 2012-10-16T04:34:46.733 に答える
0

Swift-3

ここに画像の説明を入力

let string = data.base64EncodedString()

于 2016-12-01T12:41:47.620 に答える