读取txt文件内容时,很容易出现乱码的情况,主要问题在于读取时设置的编码格式。
读取一般采用的方法为:
NSString *content = [NSString stringWithContentsOfFile:fileName encoding:fileEncoding error:&Error];
在读取过程中,遇到了乱码的问题,经过网上的查找,提示fileEncoding用 NSUTF8StringEncoding;但是发现读取后,content为null;如果使用 NSASCIIStringEncoding,则读取的是乱码。
分析应该得知,关键在于txt文件格式的编码是什么?一般汉字有UTF8和GB2312,于是很明了了:
如果是UTF8,则用:NSUTF8StringEncoding;
如果是GB2312则使用:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
(18030是国标2312的超集,所以读的时候,用2312的地方改用18030基本是没错的)