Проблема конвертации NSDATA - PullRequest
1 голос
/ 14 ноября 2010

Я молодой разработчик для 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];

`

Мне нужно напечатать theString в текстовую метку на iPhone, но я получаю точный «перевод шестнадцатеричного кода» текста, введенного в приложение на стороне сервера, и я не могу его преобразовать полукокса Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 14 ноября 2010

Я не знаю ответа - но есть несколько вещей, которые стоит посмотреть или попробовать:

  1. Вы пытались конвертировать в нечто иное, чем UTF8? (Unicode? ASCII?)

  2. В шестнадцатеричном выводе он дает вам - я предполагаю, что он дает представление UTF8 - то есть один 8-битный (два шестнадцатеричный) код для каждого символа в вашей строке. Это тот случай? Являются ли шестнадцатеричные коды "правильными" для UTF-8 или ASCII-представления вашей строки?

  3. Есть ли в результате "плохие" коды?

Мне интересно, происходит ли это потому, что в вашей строке есть символы (может быть, даже невидимые - управляющие символы - нулевые значения, что угодно), поэтому iOS не может выполнить "нормальное" преобразование UTF8 ...

...