读书人

怎么读取GBK

发布时间: 2012-06-27 14:20:09 作者: rapoo

如何读取GBK

?

NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);

? ? s = [[[NSString alloc] initWithData:data encoding:enc] autorelease];

把gbk转utf8,实际上有点误解,只不过默认编码是utf8罢了。oc的默认编码集是没有utf8的,GBK(0x80000632)

?

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 */    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 */};typedef NSUInteger NSStringEncoding;

读书人网 >移动开发

热点推荐