NSUTF8StringEncoding проблема в преобразовании nsdata в nsstring - PullRequest
0 голосов
/ 18 октября 2018

У меня есть приложение Mac Os, которое извлекает HTML-код веб-страницы и помещает его в строку NSString.Код:

NSString*linkURL=[NSString stringWithFormat:@"https://www.example.com"];
NSURL *targetURL=[NSURL URLWithString:linkURL];
NSData *htmlData = [NSData dataWithContentsOfURL:targetURL];
NSString *dataString=[[NSString alloc]initWithData:htmlData encoding:NSUTF8StringEncoding];

Это приложение работает на Mac OsX 10.8 и работает нормально.После обновления системы до Mac OsX 10.12 у меня проблема с NSUTF8StringEncoding.NSString *dataString содержит только часть HTML-кода, а не весь HTML-код.

Я проверил, что htmlData содержит правильный код, потому что я пишу htmlData в текстовый файл, и он содержит всеHTML-код, который я получил.Но когда я инициализирую NSString с помощью htmlData с использованием NSUTF8StringEncoding, строка содержит только первую часть HTML-кода.

Я также пытался:

NSString *dataString=[[NSString alloc]initWithUTF8String:[tutorialsHtmlData bytes]];

с тем же результатом.

Также код:

NSString *dataString=[NSString stringWithContentsOfURL:targetURL encoding:NSUTF8StringEncoding error:nil];

дал мне тот же результат.

HTML-код веб-страницы в кодировке UTF-8, это его мета:

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Кто-нибудь может мне помочь?Спасибо

...