Ich lese Daten aus einem TCP/IP-Stream und erhalte erfolgreich ein Byte-Array von dem bereits vorhandenen Server. Ich versuche jetzt, einen Weg zu finden, dieses Array zu einem NSString
zu konvertieren. Ich habe mehrere Beispiele gefunden, aber es fällt mir schwer, die gewünschten Ergebnisse zu erzielen.So konvertieren Sie Byte-Array in NSString
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");
}
Bitte helfen! Jede Hilfe wird sehr geschätzt.
Warum die downvotes? – Dutchie432