自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深度解析IOS開發(fā)中編碼轉(zhuǎn)換方法

移動開發(fā) iOS
IOS開發(fā)中編碼轉(zhuǎn)換方法是本文要介紹的內(nèi)容,主要是來學(xué)習(xí)一下編碼轉(zhuǎn)換的內(nèi)容,不多說,直接來看詳細(xì)內(nèi)容。我們可以使用以下方法進(jìn)行編碼轉(zhuǎn)換。

IOS開發(fā)編碼轉(zhuǎn)換方法是本文要介紹的內(nèi)容,主要是來學(xué)習(xí)一下編碼轉(zhuǎn)換的內(nèi)容,不多說,直接來看詳細(xì)內(nèi)容。我們可以使用以下方法進(jìn)行編碼轉(zhuǎn)換。

  1. NSString* str2 = [NSString stringWithCString:str1 encoding:enc1]; 

再調(diào)用NSString的cStringUsingEncoding:enc2實現(xiàn)從enc1到enc2的轉(zhuǎn)換

但是獲取enc枚舉值是個難題

1、NSString.h中只定義了以下編碼值

  1. enum {  
  2.     NSASCIIStringEncoding = 1,                 
  3.     NSNEXTSTEPStringEncoding = 2,  
  4.     NSJapaneseEUCStringEncoding = 3,  
  5.     NSUTF8StringEncoding = 4,  
  6.     NSISOLatin1StringEncoding = 5,  
  7.     NSSymbolStringEncoding = 6,  
  8.     NSNonLossyASCIIStringEncoding = 7,  
  9.     NSShiftJISStringEncoding = 8,           
  10.     NSISOLatin2StringEncoding = 9,  
  11.     NSUnicodeStringEncoding = 10,  
  12.     NSWindowsCP1251StringEncoding = 11,     
  13.     NSWindowsCP1252StringEncoding = 12,     
  14.     NSWindowsCP1253StringEncoding = 13,     
  15.     NSWindowsCP1254StringEncoding = 14,     
  16.     NSWindowsCP1250StringEncoding = 15,     
  17.     NSISO2022JPStringEncoding = 21,          
  18.     NSMacOSRomanStringEncoding = 30,  
  19.  
  20.     NSUTF16StringEncoding = NSUnicodeStringEncoding,        
  21.  
  22. #if MAC_OS_X_VERSION_10_4 <= MAC_OS_X_VERSION_MAX_ALLOWED || __IPHONE_2_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED  
  23.     NSUTF16BigEndianStringEncoding = 0x90000100,           
  24.     NSUTF16LittleEndianStringEncoding = 0x94000100,        
  25.  
  26.     NSUTF32StringEncoding = 0x8c000100,                     
  27.     NSUTF32BigEndianStringEncoding = 0x98000100,           
  28.     NSUTF32LittleEndianStringEncoding = 0x9c000100          
  29. #endif  
  30. }; 

難道iphone中中文還不支持?不會吧?

2、iphone中肯定是支持中文的,只是NSString中沒有定義這個枚舉值,我們可以通過兩種方法獲得這個枚舉值,***個方法是通過CFStringConvertEncodingToNSStringEncoding
比如:

  1. NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);  
  2. NSString* str2 = [NSString stringWithCString:str1 encoding:enc]; 

全部的kCFStringEncoding定義參考CFStringEncodingExt.h另外CFStringConvertIANACharSetNameToEncoding也很有用

3. 另外一種方法是通過

  1. const NSStringEncoding *encodings = [NSString availableStringEncodings];  
  2. NSMutableString *str = [[NSMutableString alloc] init];  
  3. NSStringEncoding encoding;  
  4. while ((encoding = *encodings++) != 0)  
  5. {  
  6.          [str appendFormat: @"%@ === %in", [NSString localizedNameOfStringEncoding:encoding], encoding];  

然后打印str數(shù)組,你就可以知道每一個encoding的枚舉值為多少了,比如中文的為-2147482063

小結(jié):深度解析IOS開發(fā)編碼轉(zhuǎn)換方法的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對你有所幫助!

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2014-02-19 09:59:52

iOS開發(fā)Html解析

2011-08-12 13:53:00

IOS框架

2011-08-11 17:00:33

iPhone數(shù)據(jù)庫SQLite

2011-06-09 14:56:53

QT 編譯

2011-07-07 16:38:21

iOS UITableVie

2011-08-16 16:24:51

IOS開發(fā)HTML5編碼

2011-08-31 15:59:10

LUAWeb 開發(fā)

2011-06-16 15:17:16

2011-05-27 17:28:01

Android

2018-08-09 20:47:41

2011-08-19 13:51:12

2011-08-04 18:39:32

iOS XML

2011-06-07 17:16:47

iPhone 數(shù)據(jù)

2011-08-12 14:54:45

iPhone委托

2022-10-18 08:23:38

機(jī)器學(xué)習(xí)轉(zhuǎn)換器NLP

2011-08-02 11:30:41

iOS開發(fā) 郵件發(fā)送

2009-09-24 13:25:58

Hibernate m

2016-05-12 15:51:08

前端開發(fā)字符編碼

2018-07-19 11:45:08

HTML5混合開發(fā)Gartner

2017-01-19 14:35:10

數(shù)據(jù)包DPInDPI
點贊
收藏

51CTO技術(shù)棧公眾號