2010-11-13 5 views
1

Je suis un jeune développeur iPhone et j'essaie d'écrire une application iPhone qui synchronise les données d'une application côté serveur sur mon mac, essentiellement des données texte.Problème de conversion NSDATA

Je vais avoir la lecture des données du mal sur le côté iPhone avec les éléments suivants:

`

(void)connectionReceived:(NSNotification *)aNotification { 

    NSFileHandle *incomingConnection = [[aNotification userInfo] objectForKey:NSFileHandleNotificationFileHandleItem]; 

    [[aNotification object] acceptConnectionInBackgroundAndNotify]; 

    NSData *receivedData = [incomingConnection availableData]; 

NSString *theString = [[[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding] autorelease]; 

`

Je dois imprimer theString à une étiquette de texte sur l'iPhone, mais ce que je reçois est la "traduction de code hexadécimal" exacte du texte entré sur l'application côté serveur et je ne semble pas être en mesure de le convertir en char. Quelqu'un peut-il aider?

Répondre

0

Je ne connais pas la réponse - mais il y a quelques choses à regarder ou essayer:

  1. Avez-vous essayé convertir en quelque chose autre que UTF8? (Unicode? ASCII?)

  2. Dans la sortie hexadécimale, elle vous donne - je suppose qu'elle donne une représentation UTF8 - c'est-à-dire un code 8 bits (deux hexagones hexadécimaux) pour chaque caractère de votre chaîne. Est-ce le cas? Les codes hexadécimaux sont-ils "corrects" pour une représentation UTF-8 ou ASCII de votre chaîne?

  3. Y a-t-il des "mauvais" codes dans le résultat?

Je me demande si cela se produit parce qu'il ya des personnages (peut-être Ones même Invisable - personnages de contrôle - nulls, quelle que soit) dans votre chaîne qui rend si iOS ne peut pas faire une conversion UTF8 « normale » ...