Преобразовать символ Unicode в NSString

Я получил строку от веб-службы, которая содержит символ Unicode. Я хочу преобразовать это в обычный NSString. так как я могу это сделать?

Например: "Это не твой велосипед"

Так как же можно удалить юникод и заменить его на равный специальный символ Charated.

Вывод будет: "Это не твой велосипед"

3 ответа

Решение
char cString[] = "This isn\u2019t your bike";
NSData *data = [NSData dataWithBytes:cString length:strlen(cString)];
NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"result string: %@", string);

Это должно работать.

ОБНОВЛЕНИЕ КОММЕНТАРИИ:

Указанный вами символ Юникода поддерживается не во всех шрифтах.

http://www.fileformat.info/info/unicode/char/92/fontsupport.htm

Но этот делает.

http://www.fileformat.info/info/unicode/char/2019/fontsupport.htm

Вот почему он выдает ошибку.

NSString *final_url = [NSString stringWithFormat:url]; 

final_url = [final_url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:final_url] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:120.0];    

NSURLResponse *response;
NSError *error = [[NSError alloc] init];

NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

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

SBJSON *objJSON = [SBJSON new];

NSMutableDictionary *objDataDic = [objJSON objectWithString:strResponse error:nil];

Есть библиотека, которая делает преобразование https://github.com/alexaubry/HTMLString. Он преобразует все виды символов Юникода.

let escapedSnack = "Fish & Chips"
let snack = escapedSnack.removingHTMLEntities // "Fish & Chips" 
Другие вопросы по тегам