Extraire une NSString d'un NSData

UniXUniX Membre
12:51 modifié dans API AppKit #1
Salut et bonnes fêtes à  tout le monde.

Je récupère un NSData depuis le port série d'un appareil. Je voudrais convertir le NSData en NSString avec initWithData: encoding:
L'encodage est de l'ASCII (c'est marqué dans la doc de l'appareil), mais j'ai du charabia qui resort de l'opération. Alors qu'avec d'autres appareils, pas de problème ....

Quelles sont les solutions possibles ? J'ai enregistré un NSData dans un fichier si quelqu'un est intéressé.

Réponses

  • AliGatorAliGator Membre, Modérateur
    12:51 modifié #2
    As-tu essayé d'ouvrir le fichier dans lequel tu as enregistré tes données brutes (NSData), avec un éditeur hexa genre HexaEdit ?
    Pour voir la tronche des données brutes. Si tu connais un minimum le protocole utilisé par ton appareil, tu pourras peut-être reconnaà®tre une trame particulière ou un truc comme ça ?
  • UniXUniX Membre
    12:51 modifié #3
    Je connais effectivement le protocole de l'appareil. Je vais essayer de voir avec HexaEdit si je reconnais quelquechose.
    J'ai essayé plusieurs constante dans la méthode initWithData: encoding:, mais aucune ne me sort de résultat probant. Et puis de toutes façons, il est bien spécifié dans la doc de l'appareil qu'il envoie de l'ASCII.
  • Eddy58Eddy58 Membre
    12:51 modifié #4
    As-tu essayé ainsi ?
    [tt]
    NSData *mesDatas=[NSData init...];
    NSString *maString=[[NSString alloc] initWithBytes:[mesDatas bytes] length:[mesDatas length] encoding:NSASCIIStringEncoding];
    [/tt]

    Sinon, pour avoir la représentation hexa de ton NSData tu peux utiliser la méthode description. :o
Connectez-vous ou Inscrivez-vous pour répondre.