iOS之使用QLPreviewController打开文件,处理txt文件出现乱码的情况

iOS之使用QLPreviewController打开文件,处理txt文件出现乱码的情况

主要代码:

- (id <QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index {
    //处理txt格式内容显示有乱码的情况
    NSData *fileData = [NSData dataWithContentsOfFile:self.files];
    //判断是UNICODE编码
    NSString *isUNICODE = [[NSString alloc] initWithData:fileData encoding:NSUTF8StringEncoding];
    //还是ANSI编码(-2147483623,-2147482591,-2147482062,-2147481296)encoding 任选一个就可以了
    NSString *isANSI = [[NSString alloc] initWithData:fileData encoding:-2147483623];
    if (isUNICODE) {
        NSString *retStr = [[NSString alloc]initWithCString:[isUNICODE UTF8String] encoding:NSUTF8StringEncoding];
        NSData *data = [retStr dataUsingEncoding:NSUTF16StringEncoding];
        [data writeToFile:self.files atomically:YES];
    }
    else if(isANSI){
        NSData *data = [isANSI dataUsingEncoding:NSUTF16StringEncoding];
        [data writeToFile:self.files atomically:YES];
    }
    
    return [NSURL fileURLWithPath:self.files];
}

 

posted on 2015-12-01 15:57  卡丁车h  阅读(1290)  评论(0编辑  收藏  举报

导航