Проблем при конвертирането на NSDATA

Аз съм млад разработчик на iPhone и се опитвам да напиша приложение за iPhone, което синхронизира данни от сървърно приложение на моя Mac, основно текстови данни.

Имам проблем с четенето на данни от страна на iPhone със следното:

`

(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];

`

Трябва да отпечатам низа в текстов етикет на iPhone, но това, което получавам, е точният „превод на шестнадесетичен код“ на текста, въведен в приложението от страна на сървъра, и изглежда не мога да го конвертирам в char. Може ли някой да помогне?


person k_o_r    schedule 13.11.2010    source източник


Отговори (1)


Не знам отговора - но има няколко неща, които да разгледате или опитате:

  1. Опитахте ли да конвертирате в нещо различно от UTF8? (Уникод? ASCII?)

  2. В шестнадесетичния изход той ви дава - предполагам, че дава UTF8 представяне - т.е. един 8-битов (две шестнадесетични хапки) код за всеки знак във вашия низ. такъв ли е случаят Шестнадесетичните кодове "правилни" ли са за UTF-8 или ASCII представяне на вашия низ?

  3. Има ли "лоши" кодове в резултата?

Чудя се дали това се случва, защото има знаци (може би дори невидими - контролни знаци - нули, каквото и да е) във вашия низ, което го прави така, че iOS да не може да направи "нормално" UTF8 преобразуване...

person Brad    schedule 13.11.2010