Проблема с преобразованием 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