


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
iphone里读取gb2312(中文)编码文件或者二进制流。说到文字编码,与文件读写打过交道的软件开发人员应该都知道,比如国际通用:UTF-8编码,ANSCII编码,Unicode编码中文:GB2312,GBK日文,Shiftjis等等。说了这么多无关紧要的话,技术是来解决实际问题的:1。如何读取UTF-8编码的文本文件?2。如何读取GB2312(中文)的文本文件?3。如何读取其它编码文件?首先解决第一个问题,1。如何读取UTF-8编码的文本文件? NSString *filePath = NSBundle mainBundle bundlePath stringByAppendingPathComponent:fileName; NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil /当然也可以采用如下方法 /NSData *data = NSData dataWithContentsOfFile:filePath; /NSString *textFile = NSString alloc initWithData:data encoding:NSUTF8StringEncoding;2。如何读取GB2312(中文)的文本文件?可能很多人会想到,那还不简单,apple肯定提供了gb2312的文件编码常量,让我们看看有那些常量吧,看看 NSUTF8StringEncoding定义文件,应该会有GB2312的常量定义。/* Note that in addition to the values explicitly listed below, NSStringEncoding supports encodings provided by CFString.See CFStringEncodingExt.h for a list of these encodings.See CFString.h for functions which convert between NSStringEncoding and CFStringEncoding.*/enum NSASCIIStringEncoding = 1,/* 0.127 only */ NSNEXTSTEPStringEncoding = 2, NSJapaneseEUCStringEncoding = 3, NSUTF8StringEncoding = 4, NSISOLatin1StringEncoding = 5, NSSymbolStringEncoding = 6, NSNonLossyASCIIStringEncoding = 7, NSShiftJISStringEncoding = 8, /* kCFStringEncodingDOSJapanese */ NSISOLatin2StringEncoding = 9, NSUnicodeStringEncoding = 10, NSWindowsCP1251StringEncoding = 11, /* Cyrillic; same as AdobeStandardCyrillic */ NSWindowsCP1252StringEncoding = 12, /* WinLatin1 */ NSWindowsCP1253StringEncoding = 13, /* Greek */ NSWindowsCP1254StringEncoding = 14, /* Turkish */ NSWindowsCP1250StringEncoding = 15, /* WinLatin2 */ NSISO2022JPStringEncoding = 21, /* ISO 2022 Japanese encoding for e-mail */ NSMacOSRomanStringEncoding = 30, NSUTF16StringEncoding = NSUnicodeStringEncoding, /* An alias for NSUnicodeStringEncoding */#if MAC_OS_X_VERSION_10_4 = MAC_OS_X_VERSION_MAX_ALLOWED | _IPHONE_2_0 = _IPHONE_OS_VERSION_MAX_ALLOWED NSUTF16BigEndianStringEncoding = 0x90000100, /* NSUTF16StringEncoding encoding with explicit endianness specified */ NSUTF16LittleEndianStringEncoding = 0x94000100, /* NSUTF16StringEncoding encoding with explicit endianness specified */ NSUTF32StringEncoding = 0x8c000100, NSUTF32BigEndianStringEncoding = 0x98000100, /* NSUTF32StringEncoding encoding with explicit endianness specified */ NSUTF32LittleEndianStringEncoding = 0x9c000100 /* NSUTF32StringEncoding encoding with explicit endianness specified */#endif;很遗憾,我没找到,不过Apple留了个线索让我取找,不过仔细看看它的注释 Note that in addition to the values explicitly listed below, NSStringEncoding supports encodings provided by CFString.See CFStringEncodingExt.h for a list of these encodings. See CFString.h for functions which convert between NSStringEncoding and CFStringEncoding. 我的英文比较不好,但大意是看明白了,不在下面支持了编码格式,在CFStringEncodingExt.h 里头文件申明 。我们通过finder的文件查找方法找到CFStringEncodingExt.h 。仔细看看确实找到了kCFStringEncodingGB_18030_2000 ( 我以为是kCFStringEncodingGB_2312_80 ,实际上不是) 但是这个是CFStringEncoding类型,我们需要NSEncode的类型。CFString 和NSString具有相同的内存结构,也是NSString的重要补充,通过查找CFString的帮助文档,找到了这个方法 CFStringConvertEncodingToNSStringEncoding NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); NSString *textFile = NSString stringW
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农产品购销合同模板
- 个人投资项目投资协议
- 以趣启智:鞍山市某区幼儿园数学教学游戏实施的深度剖析
- 初三化学化学农业试卷及答案
- 中国上市公司债务期限结构影响因素的多维度实证剖析
- MRI与1H-MRS在软组织肿瘤良恶性鉴别中的应用与比较研究
- 八年级数学整式混合运算练习试卷及答案
- 基层工会基础知识培训课件
- 基因教学课件
- 农机作业考试题及答案
- 2025高空作业考试试题及答案(完整版)
- 肝脓肿病人护理
- 膝关节炎的康复治疗讲课件
- 福建省厦门中烟益升华滤嘴棒有限责任公司招聘笔试题库2025
- DB63T 1987-2021干拌水泥碎石桩施工技术规范
- GA 1812.2-2024银行系统反恐怖防范要求第2部分:数据中心
- 市卫生健康信息化项目建设方案
- 点卡售卖合同协议
- 【百享|新华教育集团x百度】生成式AI助力新华教育突破效果桎梏
- 中餐厅新员工入职培训大纲
- 电厂氨站泄漏应急演练方案
评论
0/150
提交评论