簡體   English   中英

來自NSData的NSString是否為null?

[英]NSString from NSData is null?

我從服務器獲取數據,NSData很好,並給出了一個字節數。 NSString為null :(第二個日志)

NSData *stringOfData = [data subdataWithRange:NSMakeRange(0, [data length])];
NSString *finalData = [[[NSString alloc] initWithData:stringOfData encoding:NSUTF8StringEncoding] autorelease];

NSLog(@"RECIEVED FROM SERVER:%@",stringOfData); //is ok
NSLog(@"RECIEVED :%@",finalData); //is null

RECIEVED FROM SERVER:<0b000000 02000000 03000000 453242>
RECIEVED :

這是怎么了 我正在嘗試一切,並且總以某種方式使其無效。

編輯:數據是我從服務器獲取的字節。 它應該是一個int數,但我想將其顯示為字符串..我正在嘗試其他類型的編碼,但仍然為null ..

如果數據包含整數,那么將原始數據加載到NSString中將無法執行您想要的操作。 也許您想要更多類似這樣的東西:

int *i = (int *)data.bytes;
NSLog(@"RECIEVED :%d, %d, %d, %d", i[0], i[1], i[2], i[3]);

您可能還會發現自己必須處理字節順序問題。 如果是這樣,這可能會有所幫助:

NSLog(@"RECIEVED :%d, %d, %d", ntohl(i[0]), ntohl(i[1]), ntohl(i[2]), ntohl(i[3]));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM