Convertir NSString a NSData y viceversa

Tengo un problema al intentar convertirNSString aNSData y viceversa. Estoy tratando de almacenar una cadena encriptada en mi base de datos. Para eso estoy usando el algoritmo AES. Ahora lo que estoy haciendo es encriptarmeNSData y estoy convirtiendo esto aNSString usando lo siguiente:

// Not woking
NSString *strTemp = [[NSString alloc] initWithData:encData encoding:NSUTF8StringEncoding]; 

// Working
NSString *strTemp = [[NSString alloc] initWithData:encData encoding:NSASCIIStringEncoding];

Por quéNSData no está convirtiendo mientras usaNSUTF8StringEncoding. De la misma manera cuando trato de convertir la cadena obtenida porNSASCIIStringEncoding utilizando

// Not working
[strTemp dataUsingEncoding:NSASCIIStringEncoding];

// Working
[strTemp dataUsingEncoding:NSUTF8StringEncoding];

Por quéNSASCIIStringEncoding no funciona mientras convierte elNSString aNSData?

Respuestas a la pregunta(2)

Su respuesta a la pregunta