La conversion de NSString à NSData et vice versa
Je rencontre un problème lors de la tentative de convertir NSString
à NSData
et vice versa.
Je suis en train de stocker chaîne cryptée à ma base de données. Pour cela, je suis en utilisant un algorithme AES. Maintenant ce que je fais est que je vous chiffrés NSData
et je suis la conversion de ce NSString
à l'aide suivante:
//Not woking
NSString *strTemp = [[NSString alloc] initWithData:encData encoding:NSUTF8StringEncoding];
//Working
NSString *strTemp = [[NSString alloc] initWithData:encData encoding:NSASCIIStringEncoding];
Pourquoi NSData
n'est pas la conversion en utilisant NSUTF8StringEncoding
. Même quand j'essaie de convertir la chaîne obtenu par NSASCIIStringEncoding
à l'aide de:
//Not working
[strTemp dataUsingEncoding:NSASCIIStringEncoding];
//Working
[strTemp dataUsingEncoding:NSUTF8StringEncoding];
Pourquoi NSASCIIStringEncoding
ne fonctionne pas lors de la conversion du NSString
à NSData
?
OriginalL'auteur Kapil Choubisa | 2011-07-19
Vous devez vous connecter pour publier un commentaire.
NSString
àNSData
:NSData
àNSString
:pouvez-vous donner plus de code ?
le code est totale ici... j'ai une chaîne I m convertir des Données à l'aide de
[strTemp dataUsingEncoding:NSUTF8StringEncoding]
de travail mais[strTemp dataUsingEncoding:NSASCIIStringEncoding]
ne fonctionne pas de la même façon les données que j'ai obtenu à l'aide de[strTemp dataUsingEncoding:NSUTF8StringEncoding]
je suis la conversion en arrière à l'aide de la chaîne[[NSString alloc] initWithData:encData encoding:NSASCIIStringEncoding]
est un travail, mais[[NSString alloc] initWithData:encData encoding:NSUTF8StringEncoding]
ne l'est pas. Donc, Chaque fois que ma conversion se produit, je suis en utilisant un codage différent qui n'ont pas de caution du même résultat.NSString* str= @"test"; NSData* data=[str dataUsingEncoding:NSASCIIStringEncoding]; NSLog(@"%@",data); NSString* newStr = [[NSString alloc] initWithData:codage des données:NSASCIIStringEncoding]; NSLog(@"%@",newStr); NSString* str1= @"test"; NSData* data1=[str1 dataUsingEncoding:NSUTF8StringEncoding]; NSLog(@"%@",data1); NSString* newStr1 = [[NSString alloc] initWithData:data1 encodage:NSUTF8StringEncoding]; NSLog(@"%@",newStr1); je l'ai testé et sa fonctionne très bien !!! dans les deux cas
OriginalL'auteur Maulik
Veuillez garder à l'esprit que
NSASCIIStringEncoding
etNSUTF8StringEncoding
besoin de faire correspondre les caractères dans la chaîne.OriginalL'auteur zaph