6
votes

Convertir Nstring en iPhone de Byte Array

Bonjour, je veux convertir le nstring en array d'octet.

Si j'ai une chaîne comme "Bonjour", il convertit en octets comme celui-ci {65,23 56 56,56}.

merci


2 commentaires

Je suppose qu'il veut les valeurs ASCII, bien que celles-ci seraient assez fausses. Je suppose qu'il a juste choisi des valeurs aléatoires.


Oui, je mets le nombre aléatoire non exact.


3 Réponses :


7
votes

Utiliser - [nstring utf8string] qui retourne const char * . Lire la référence .

Un conseil général: Si vous souhaitez trouver si une classe a une méthode qui fait quelque chose, recherchez la référence officielle! Je veux dire, sur le Web, il y a non seulement des dépôts de pile, mais également les documentations officielles du fournisseur d'API (I.E. Apple ou Microsoft)!


1 commentaires

[NSString UTF8String] ne vous donne pas vraiment un indice qu'il renvoie le pointeur à un char. Que vous devez lire toutes les méthodes API pour trouver quelque chose dont vous avez besoin et que c'est juste pour une classe. Les cadres de fondation ont des tonnes de classes, ce n'est pas faisable, alors oui ou Google est un outil d'aide. Si vous développez également sur d'autres cadres d'une courte quantité de temps, vous n'avez tout simplement pas le temps d'étudier toutes les API. En outre, les API changent au fil du temps, alors demandent et si vous ne recevez pas de réponse, faites-la de la recherche, sinon partagez les connaissances.



0
votes

du docs :

"obtient une gamme donnée de caractères sous forme d'octets dans un codage spécifié." xxx


0 commentaires

5
votes
NSData *bytes = [test dataUsingEncoding:NSUTF8StringEncoding];

1 commentaires

hey il retourne la valeur hexa et j'essaie d'obtenir des octets en utilisant cette nsdata data = [nsdata DatawithContentsOffile: Filpath]; Nsuinteger len = [longueur de données]; Octet * bytedata = (octet ) malloc (len); memcpy (bytedata, [octets de données], len); mais cela me donne un personnage spécial non en chiffres