Cómo convertir NSData a NSString

Sé que esto se ha preguntado bastante antes, y ya seguí algunos enfoques, pero no funcionan.

Lo que sigue es lo que ya probé:

NSString *newStr = [NSString stringWithUTF8String:[responseData bytes]]; NSString *newStr = [NSString stringWithFormat:@"%.*s", [responseData length], [responseData bytes]]; 

Ninguno de ellos funciona En el primer caso, llena newStr con nulo. En segundo lugar, se llena de personajes basura. Sé que desde el logging del depurador (po responseData) obtengo una respuesta válida que es como bbbbbb 00 bbbbbb. [el server los envía como matriz de bytes]

¿Qué hacer?

EDITAR: Estoy recibiendo estos datos de la respuesta de request http: usando la biblioteca ASIHTTPRequest, en caso de que alguien pueda ayudar en esa línea.

Prueba esto,

 NSData *responseData; [Initialize it] NSString *receivedDataString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; NSLog(@"%@",receivedDataString); 

Puede usar estas líneas de código

 NSString *str=[[NSString alloc] initWithBytes:data1.bytes length:data1.length encoding:NSUTF8StringEncoding]; 

Estoy publicando esto por motivos de logging porque encontré un duplicado y voté para cerrarlo.

En realidad, lo que estoy recibiendo es una secuencia de bytes representada como hexadecimal, y todas las respuestas indicadas no funcionan. Solo [descripción de NSData] me dio datos verdaderos, que es algo que no puedo usar porque está destinado a la debugging.

Finalmente probé la solución dada aquí , y obtengo lo que quiero. Gracias a todos por tratar de ayudar.

Intente el siguiente código

 NSString *string = [[[NSString alloc] initWithData: responseData.bytes encoding:NSUTF8StringEncoding] autorelease]; 
 NSString *image1Data = [[NSData dataWithData:myData] encodeBase64ForData]; 

Pero para esto, debe usar la class NSData + Base64Additions.

Usa la siguiente manera

  NSString *dC_Str = [[NSString alloc] initWithData:decryPtd_data encoding:NSASCIIStringEncoding] ;