La conversion entre les NSData et base64 chaînes
Quelle est la méthode la plus simple et la plus rapide de code pour faire une conversion entre NSData
et une chaîne base64? J'ai lu un tas de solutions, DONC et surtout, elles impliquent dans l'ajout d'une autre classe, etc. J'ai trouvé une excellente solution ici mais c'est trop complexe.
- Toutes les solutions raisonnables vont ressembler à quelque chose comme le Mat Gallagher post que vous avez lié.
- Voici à trouver sa bibliothèque où les gens ont mystérieusement utilisé
[NSData dataFromBase64String]
sans lien - Pour certains incompréhensible pourquoi Apple n'a jamais fourni un support "natif" pour Base64, mais l'ensemble de la 3ème partie les kits sont à peu près identiques. Il suffit de choisir un.
Vous devez vous connecter pour publier un commentaire.
Faites défiler jusqu'à la Conclusion section sur la page liée et télécharger la condition NSData+fichiers Base64. C'est la meilleure solution que j'ai vu jusqu'à présent et il est incroyablement facile à utiliser. Si vous pouvez apprendre quelque chose de Cacao, vous pouvez apprendre à utiliser ce projet.
Exemple
Ci-dessus affichera la chaîne d'origine après la conversion il est base64 et le retour à la normale clair de la chaîne.
NSData+Base64
, la première chose qui doit fonctionner dans votre tête, c'est que c'est une catégorie sur laNSData
classe. En d'autres termes, vous appeler que ces nouvelles méthodes à l'aide deNSData
, pas une nouvelleBase64
classe.NSData
à partir de n'importe où dans votre projet.Comme d'iOS 7,
NSData
maintenant directement fournit cette fonctionnalité avec les nouvelles méthodes-base64EncodedDataWithOptions:
et-base64EncodedStringWithOptions:
. (Les options vous permettent de spécifier que la chaîne est/devrait être enveloppé, mieux gérer son courrier, et des utilisateurs s'affiche.)Vous n'avez pas besoin de coutume de mise en œuvre. La création d'base64 de NSData est montré dans d'autres réponses. Il est à l'opposé de la direction. De Base64 chaîne de NSData:
J'ai fini à l'aide de cette même classe que fournis par SUDZC
mise en œuvre a été facile, j'ai d'abord fait une importation
ensuite, j'ai été en mesure d'appeler mes données.
Ou vous pouvez prendre un coup d'oeil à l' (tout nouveau) CryptoCompatibility exemple de projet, je pense qu'il y a une classe wrapper pour base64 opération. C'est un MacOS échantillon, mais il utilise la bibliothèque libresolve.dylib avec, je pense, est disponible sur iOS trop (c'est de voir au moins ici dans iOS7).
Être conscient qu'il y a de plus en Base64 formats.
Par exemple JWTs utiliser un URL safe format.