-2

是否可以以 10 为基数 NSLog NSData。基本上可以看到 NSData 的字节数组。

我想看到这样的输出:[51, -55, 55, -54, -110]

4

1 回答 1

4

您可以定义一个类别NSData生成具有十进制数据表示的字符串,如下所示:

@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]);
于 2013-08-14T13:00:09.633 回答