如果需要判断导入项目中的 .txt
格式文件的编码格式(GBK/UTF-8......),主要适用于读取.txt
文件时,使用对应的编码格式来加载文档,不然会出现乱码的情况,可以使用以下方式来判断处理:
NSString *stringFromFileAtURL = [[NSString alloc] initWithContentsOfURL:fileUrl encoding:NSUTF8StringEncoding error:&error];//fileUrl为 .txt文件的文件路径URL
if (stringFromFileAtURL == nil) {
//GBK格式
} else {
//UTF-8格式
}
如果需要适配更多的.txt文档编码格式,那就需要一种一种的格式去尝试读取了,例如:
NSError *error;
NSString *content = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];
NSLog(@"UTF-8, error = %@", error);
if (!content) {
error = nil;
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_2312_80);
content = [NSString stringWithContentsOfURL:url encoding:enc error:&error];
NSLog(@"GB 2312, error = %@", error);
} else if {
//.......以此类推
}