Проблема преобразования NSData в NString

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

Помощь будет оценена.

ОБНОВИТЬ:

Гордону - NSData генерируется так:

    NSData *theData = [NSURLConnection sendSynchronousRequest:theRequest returningResponse:&theResponse error:&theError];

Когда я говорю, что преобразование не удается, я имею в виду, что

[[NSString alloc] initWithData:temp encoding:NSUTF8StringEncoding]

возвращает ноль

Для Ed - Вот мой код (я получил массив байтов из NSData, нашел то, что мне нужно, и сконструировал еще один массив байтов из этого - превратил его в NSData и затем попытался преобразовать его в 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)));
NSLog(@"%d %d",begin1, end1);
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];

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

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