Lorsque j'appelle -description
sur un objet NSData
, je vois une jolie chaîne Hexadécimale des octets de l'objet NSData
comme :
J'aimerais obtenir cette représentation des données (moins les guillemets lt/gt) dans un NSString
en mémoire pour pouvoir travailler avec.. Je préférerais ne pas appeler -[NSData description]
et ensuite simplement supprimer les guillemets lt/gt (car je suppose que ce n'est pas un aspect garanti de l'interface publique de NSData
et est susceptible de changer à l'avenir).
Quel est le moyen le plus simple d'obtenir cette représentation d'un objet NSData
dans un objet NSString
(autre que d'appeler -description
)?
1 votes
Alors, pourquoi pas de description? (Vraiment curieux. Je soupçonne que j'apprendrai quelque chose.)
1 votes
@Steven: La sortie de
description
peut changer selon les versions du système. Par exemple,-[NSDate description]
était, avant Lion, documenté comme renvoyant une chaîne exactement dans le même format que celui requis pour-[NSDate initWithString:]
; cette garantie n'est plus donnée. Discussion succincte ici: stackoverflow.com/questions/5837777/…3 votes
description
devrait être utilisé uniquement à des fins de débogage, car vous n'avez aucune garantie que la valeur retournée par la méthodedescription
ne changera pas dans les futures versions (même si c'est peu probable). Par exemple, rien ne vous dit qu'Apple ne décidera pas un jour que si[NSData longueur]>200
, alors la chaîne retournée pardescription
sera tronquée au milieu... ou quelque chose de similaire. C'est pourquoi il peut ne pas être une bonne pratique de se fier à ce qui est retourné pardescription
pour autre chose que le débogage/l'enregistrement.0 votes
A du sens. Merci. Je dois admettre que j'ai fourni des descriptions personnalisées à des fins de débogage.
0 votes
J'ai écrit une catégorie NSData en NSString hexadécimal que vous pouvez trouver ici : stackoverflow.com/a/9084784/153040 C'est similaire à la réponse de AliSoftware.
0 votes
Lors du débogage : Moyen rapide d'inspecter / afficher l'hexadécimal sous forme de chaîne lisible (si applicable) : stackoverflow.com/a/38225931/1054573
0 votes
Possible duplicate de Meilleure façon de sérialiser un NSData dans une chaîne hexadécimale