1
NSString *path =[[NSBundle mainBundle]pathForResource:@"1025626909" ofType:@"txt"];
NSStringEncoding enc;
NSError *error;
NSString *pageSource = [[NSString alloc] initWithContentsOfFile:path usedEncoding:&enc error:&error];
NSLog(@"==%@",pageSource);
NSLog(@"==%@",[error description]);

上記のコードはこれを出力します:</p>

2013-09-16 17:40:08.843 encodingTest[3350:c07] ==(null)
2013-09-16 17:40:08.846 encodingTest[3350:c07] ==Error Domain=NSCocoaErrorDomain Code=264 "The operation couldn’t be completed. (Cocoa error 264.)" UserInfo=0x71a5af0 {NSFilePath=/Users/dayu/Library/Application Support/iPhone Simulator/6.1/Applications/A33DE8D6-D64B-4791-ADB6-1AB4B35B743A/encodingTest.app/1025626909.txt  

txt ファイルの内容を取得できません。スーパーマンが助けに来てくれることを願っています。。。。</p>

このファイルのエンコーディングが GB2312 であることが判明したファイルを別の方法で見つけたので、kCFStringEncodingGB_2312_80 コードを使用しました。効果なし。。。</p>

4

3 に答える 3

0

理由を教えてください。..txt ファイルのすべての内容を一度 NSLog してほしいからです。それは常にnullを返します。txt ファイルのごく一部を取得すると、適切なコンテンツが得られます。
NSStringEncoding enc2 = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); NSString *textFile = [NSString stringWithContentsOfFile:パス エンコーディング:enc2 エラー:&error];

于 2013-09-17T07:55:21.300 に答える