I am reading data from a TCP / IP stream and successfully getting an array of bytes from an existing server. Now I am trying to find a way to convert this array to NSString . I have found some examples, but it is difficult for me to get the desired results.
NSData *data=[[NSMutableData alloc] init]; uint8_t buffer[1024]; unsigned int len=0; len=[(NSInputStream *)stream read:buffer maxLength:1024]; if(len>0){ [data appendBytes:&buffer length:len]; //BYTE ARRAY OBTAINED OK!! /////////////////////////////////////////////////////// //METHOD #1 - Yields 'nil' NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; /////////////////////////////////////////////////////// //METHOD #2 - Log prints OK, but messageString says //'invalid' in debugger, and get warnings all over the //place. I know this is wrong, but it semi-works :) size_t length=[data length]; unsigned char aBuffer[length]; [data getBytes:aBuffer length:length]; aBuffer[length - 1]=0; NSString *messageString =aBuffer; NSLog (@"%s",messageString); /////////////////////////////////////////////////////// }else{ NSLog(@"No Buffer"); }
Please, help! Any help is provided APPOINTED.
iphone cocoa-touch xcode nsstring
Dutchie432
source share