iOS支持多种字符编码,可以将unicode字符转码为其他编码的字符。
编码列表
iOS支持的编码有:
typedef NSUInteger NSStringEncoding;
NS_ENUM(NSStringEncoding) {
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,
/* NSUTF32StringEncoding encoding with explicit endianness specified */
NSUTF32LittleEndianStringEncoding = 0x9c000100
/* NSUTF32StringEncoding encoding with explicit endianness specified */
};
返回编码的名字
+(NSString *)localizedNameOfStringEncoding:(NSStringEncoding)encoding;
NSLog(@"encode = %@",[NSString localizedNameOfStringEncoding:NSASCIIStringEncoding]);
NSLog(@