NSData для NSString проблема разговора!

Я получаю HTML-файл как NSData и должен проанализировать его, чтобы извлечь некоторую информацию. Мой подход состоял в том, чтобы преобразовать его в NSString с кодировкой UTF8 (html содержит не английские символы, например русский), - это не удалось. Я использовал что-то подобное:

NSString *respData = [NSString stringWithUTF8String:[theData bytes]];

но он вернул ноль.

Единственное, что на самом деле работало, было

[NSString stringWithCString:[theData bytes] length:[theData length]];

но когда он встречает русские символы, например, он возвращает jibrish.

Затем мой следующий подход состоял в том, чтобы проанализировать массив байтов данных, извлечь нужные мне байты и каким-то образом преобразовать их в NSString. Я попробовал что-то подобное:

-(NSString *)UTF8StringFromData:(NSData *)theData{
 Byte *arr = [theData bytes];
 NSUInteger begin1 = [self findIndexOf:@"" bArr:arr size:[theData length]]+4;
 NSUInteger end1 = [self findIndexOf:@"" bArr:arr size:[theData length]];
 Byte *arr1 = (Byte *)malloc(sizeof(Byte)*((end1-begin1+1)));
 int j = 0;
 for (int i = begin1; i < end1; i++){
  arr1[j] = arr[i];
  j++;
 }
 arr1[j]='\0';
 NSData *temp = [NSData dataWithBytes:arr1 length:j];
 return [[NSString alloc] initWithData:temp encoding:NSUTF8StringEncoding];
}

Ответы на вопрос(3)

Ваш ответ на вопрос