基数 10 で NSLog NSData を実行することは可能ですか。基本的には NSData のバイト配列を表示します。
次のような出力を見たいと思います: [51, -55, 55, -54, -110]
基数 10 で NSLog NSData を実行することは可能ですか。基本的には NSData のバイト配列を表示します。
次のような出力を見たいと思います: [51, -55, 55, -54, -110]
次のように、カテゴリを onに定義してNSData
、10 進データ表現の文字列を生成できます。
@interface NSData (DecimalOutput)
-(NSString*)asDecimalString;
@end
@implementation NSData (DecimalOutput)
-(NSString*)asDecimalString {
NSMutableString *res = [NSMutableString string];
[res appendString:@"["];
// Construct an `NSString`, for example by appending decimal representations
// of individual bytes to the output string
const char *p = [self bytes];
NSUInteger len = [self length];
for (NSUInteger i = 0 ; i != len ; i++) {
[res appendFormat:@"%i ", p[i]];
}
[res appendString:@"]"];
return res;
}
@end
NSLog
これを新しい形式の文字列に使用できるようになりました。
NSLog("Data:%@", [myData asDecimalString]);