Данные Unicode от NSData до NSString - PullRequest
       10

Данные Unicode от NSData до NSString

2 голосов
/ 07 февраля 2011

Итак, если у меня есть NSData из HTTP-запроса, я делаю что-то вроде этого:

NSString *test = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

Это приведет к нулю, если данные содержат странные юникодные данные ( title from reddit ):

{"title":"click..██me..and..then██________ ██check██_.your...██.__...██____ ██....██████████████....██____ ██████....██████....██████____ ██████████████████████____ ....██████████████████______ ........██..._recently....██________ ....██....viewed....links....██_____"},

Как бы я преобразовал данные в строку? В идеале было бы лучше, если бы строка не была нулевой, чтобы я мог ее проанализировать как JSON, но в этих случаях мне подходит даже преобразование с потерями.

Я не знаком с юникодом (я наивный американец), поэтому любое просвещение об этом было бы хорошим бонусом:)

1 Ответ

1 голос
/ 07 февраля 2011

Если я копирую и вставляю этот текст в текстовый файл UTF-8, считываю его с dataWithContentsOfURL: и преобразовываю в строку с initWithData:encoding:, он работает нормально. Наиболее вероятным объяснением является то, что вы не получаете действительные данные UTF-8.

...