iOS 针对txt文档进行解码
2021/7/10 23:11:44
本文主要是介绍iOS 针对txt文档进行解码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
如我上一篇文章记录,我加了打开其他APPtxt文件的小功能,紧接着碰到新问题了,我在测试过程中发现用户上传的TXT编码格式很多不单单是utf-8和gb2312,针对TXT文档进行解码,我一共经历过两个阶段,如下
1.通过循环 解码不为空就返回字符串
NSArray *encodings = @[ @(NSUTF8StringEncoding), @(0x80000632), @(0x80000631), @(kCFStringEncodingGB_2312_80), @(kCFStringEncodingHZ_GB_2312), @(kCFStringEncodingMacChineseSimp), @(kCFStringEncodingDOSChineseSimplif), @(kCFStringEncodingGB_18030_2000), @(NSUTF16StringEncoding), @(NSUTF16LittleEndianStringEncoding), @(NSUTF16BigEndianStringEncoding), @(NSUTF32StringEncoding), @(NSUTF32LittleEndianStringEncoding), @(NSUTF32BigEndianStringEncoding) ]; NSString *result = nil; for (NSInteger i = 0; i < encodings.count; i++) { unsigned int encoding = [encodings[i] unsignedIntValue]; NSError *error = nil; NSString *content = [NSString stringWithContentsOfFile:filePath encoding:CFStringConvertEncodingToNSStringEncoding(encoding) error:&error]; if (!error && !TJIsEmptyObject(content)) { result = content; break; } } return result;
此版本对于代码会碰到 编码成功 但是会是乱码的情况。
2.第二阶段 通过encodingOptions 进行处理
stringEncodingForData: encodingOptions: convertedString: usedLossyConversion
会自动挑选编码数组内合适的编码对字符串进行处理,目前尚未发现问题
NSArray *encodings = @[ @(NSUTF8StringEncoding), @(0x80000632), @(0x80000631), @(CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_2312_80)), @(CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingHZ_GB_2312)), @(CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingMacChineseSimp)), @(CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingDOSChineseSimplif)), @(CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000)), @(NSUTF16StringEncoding), @(NSUTF16LittleEndianStringEncoding), @(NSUTF16BigEndianStringEncoding), @(NSUTF32StringEncoding), @(NSUTF32LittleEndianStringEncoding), @(NSUTF32BigEndianStringEncoding) ]; NSData * data = [NSData dataWithContentsOfFile:filePath]; NSString * chapterContent = @""; BOOL lossy = NO; [NSString stringEncodingForData:data encodingOptions:@{NSStringEncodingDetectionSuggestedEncodingsKey:encodings} convertedString:&chapterContent usedLossyConversion:&lossy]; return chapterContent;
附上APP地址: 一阅阅读
有想看小说的小伙伴可以试下 支持换源 支持自定义书源
这篇关于iOS 针对txt文档进行解码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12Axios库资料:新手入门必读教程
- 2024-11-11Axios库项目实战:新手入门教程
- 2024-09-29Axios库教程:初学者必备指南
- 2024-08-29Axios库资料:新手入门指南与基本使用教程
- 2024-03-14system bios shadowed
- 2024-03-14gabios
- 2024-02-07iOS应用提交上架的最新流程
- 2024-02-06打包 iOS 的 IPA 文件
- 2023-12-07uniapp打包iOS应用并通过审核:代码混淆的终极解决方案 ?
- 2023-11-25uniapp IOS从打包到上架流程(详细简单) 原创