2013-04-08 70 views
-2

我有從服務器接收NSData像210502113c4d。我將這些數據轉換爲NSString格式。我想從這個輸入數據中檢索3個字節,即2105 113c4d。我試過以下:迭代傳入的數據

NSData *demoData=[string dataUsingEncoding:NSASCIIStringEncoding]; 
NSLog(@"demo data :%@",demoData); 
const char *bytes=[data bytes]; 
NSMutableString *result = [NSMutableString string]; 
for (int i = 0; i < [demoData length]; i++) 
{ 
    [result appendFormat:@"%02hhx", (unsigned char)bytes[i]]; 
} 

但它不工作。請建議我一些解決方案來實現這一目標?

+0

@downvoter:downvote?沒關係。但至少在投票前留下一些評論。否則對我來說並不重要 – 2013-04-09 04:18:54

回答

0

碼獲得一個字符串的第三個字節的值,假定字符串包含在十六進制字節,在HH格式:

NSString* string = @"210502113c4d"; 
NSString* thirdByte = [string substringWithRange:NSRangeFromString(@"4,2")]; 
NSScanner* scanner = [NSScanner scannerWithString:thirdByte]; 
NSUInteger value; 
[scanner scanHexInt:&value]; 
NSLog(@"%u", value); // 2