ストリームの途中にゼロ (' 0 ')を含む圧縮されたストリーム オブジェクトを含むPDFのコンテンツをNSLogしたいと考えています。
残念ながら、最初のストリーム オブジェクトで ' 0 ' が最初に出現すると、コンソールの出力が終了します...
SOまたはクラウドで何も見つかりませんでした。
4つの異なる方法で試してみました...
NSString *pdfFilePath = [[NSBundle mainBundle] pathForResource: @"myPDF" ofType: @"pdf"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:pdfFilePath];
NSData *myData = [NSData dataWithContentsOfURL:fileURL];
________________________________________________________________________
//1
NSString *string = [[NSString alloc] initWithData:myData
encoding:NSASCIIStringEncoding];
NSLog(@"%@", string);
________________________________________________________________________
//2
NSString *myDataAsString = [[NSString alloc] initWithData:myData
encoding:NSASCIIStringEncoding];
NSLog(@"%@", myDataAsString);
________________________________________________________________________
//3
NSString *myPDFasString = [NSString stringWithContentsOfURL:fileURL
encoding:NSASCIIStringEncoding error:NULL];
NSLog(@"%@", myPDFasString);
________________________________________________________________________
//4
NSString *stringFromFileAtURL = [[NSString alloc] initWithContentsOfURL:fileURL
encoding:NSASCIIStringEncoding error:NULL];
NSLog(@"%@", stringFromFileAtURL);
それらの 4 つすべてのコンソールでの出力: (もちろん、バッキング ストアでは常に null で終了する文字列です)
%PDF-1.1
%
1 0 obj <<
/Type /Catalog
/Count 1
/Pages 6 0 R >>
endobj
2 0 obj <<
%%/Type /Stream
/Filter /FlateDecode
/Length 12 >>
stream
x+TT
ここでは、「x + TT」の後の「0」(ストリームオブジェクトの始まり)のためにストリームが終了します...
誰?