资源描述:
《iphone里读取gb2312》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、iphone里读取gb2312(中文)编码文件或者二进制流。说到文字编码,与文件读写打过交道的软件开发人员应该都知道,比如国际通用:UTF-8编码,ANSCII编码,Unicode编码中文:GB2312,GBK日文,Shift-jis等等。说了这么多无关紧要的话,技术是来解决实际问题的:1。如何读取UTF-8编码的文本文件?2。如何读取GB2312(中文)的文本文件?3。如何读取其它编码文件?首先解决第一个问题,1。如何读取UTF-8编码的文本文件?NSString*filePath=[[[NSBundlemainBundle]bundlePath]stri
2、ngByAppendingPathComponent:fileName];[NSStringstringWithContentsOfFile:filePathencoding:NSUTF8StringEncodingerror:nil]//当然也可以采用如下方法//NSData*data=[NSDatadataWithContentsOfFile:filePath];//NSString*textFile=[[NSStringalloc]initWithData:dataencoding:NSUTF8StringEncoding];2。如何读取GB2312(
3、中文)的文本文件?可能很多人会想到,那还不简单,apple肯定提供了gb2312的文件编码常量,让我们看看有那些常量吧,看看NSUTF8StringEncoding定义文件,应该会有GB2312的常量定义。/*Notethatinadditiontothevaluesexplicitlylistedbelow,NSStringEncodingsupportsencodingsprovidedbyCFString.SeeCFStringEncodingExt.hforalistoftheseencodings.SeeCFString.hforfunctions
4、whichconvertbetweenNSStringEncodingandCFStringEncoding.*/enum{NSASCIIStringEncoding=1,/*0..127only*/NSNEXTSTEPStringEncoding=2,NSJapaneseEUCStringEncoding=3,NSUTF8StringEncoding=4,NSISOLatin1StringEncoding=5,NSSymbolStringEncoding=6,NSNonLossyASCIIStringEncoding=7,NSShiftJISStringE
5、ncoding=8,/*kCFStringEncodingDOSJapanese*/NSISOLatin2StringEncoding=9,NSUnicodeStringEncoding=10,NSWindowsCP1251StringEncoding=11,/*Cyrillic;sameasAdobeStandardCyrillic*/NSWindowsCP1252StringEncoding=12,/*WinLatin1*/NSWindowsCP1253StringEncoding=13,/*Greek*/NSWindowsCP1254StringEnc
6、oding=14,/*Turkish*/NSWindowsCP1250StringEncoding=15,/*WinLatin2*/NSISO2022JPStringEncoding=21,/*ISO2022Japaneseencodingfore-mail*/NSMacOSRomanStringEncoding=30,NSUTF16StringEncoding=NSUnicodeStringEncoding,/*AnaliasforNSUnicodeStringEncoding*/#ifMAC_OS_X_VERSION_10_4<=MAC_OS_X_VER
7、SION_MAX_ALLOWED
8、
9、__IPHONE_2_0<=__IPHONE_OS_VERSION_MAX_ALLOWEDNSUTF16BigEndianStringEncoding=0x90000100,/*NSUTF16StringEncodingencodingwithexplicitendiannessspecified*/NSUTF16LittleEndianStringEncoding=0x94000100,/*NSUTF16StringEncodingencodingwithexplicitendiannessspecified*/NSUT
10、F32StringEncoding=0x8c0001