iOS NSString ISO-8859-1 編碼格式互轉(zhuǎn)

一般來說,后臺接口參數(shù)有中文是使用utf-8編碼轉(zhuǎn)換的,但是有時候后臺就不用,比如使用ISO-8859-1,但是iOS的字符串不能直接使用方法,像utf-8那么方便了,對應編碼的枚舉并不在NSString這個類里,而是在CFString里,我這個小白還是第一次接觸這個,發(fā)現(xiàn)網(wǎng)上的資料也不是很多(只是百度,不翻墻),好不容易搞定了,特此做個記錄,代碼不多,只有兩行

NSString? 轉(zhuǎn) ISO-8859-1

+ (NSString *)unicode2ISO88591:(NSString *)string {

NSStringEncoding enc =? ? ? CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingISOLatin1);

return [NSString stringWithCString:[string UTF8String] encoding:enc];

}

使用[string UTF8String]是因為需要C格式的字符串,類似的,此方法可以轉(zhuǎn)換其他不能用字符串對象直接轉(zhuǎn)換的編碼格式

ISO-8859-1 轉(zhuǎn) NSString?

//定義ISO-8859-1編碼格式

NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingISOLatin1);

//ISO-8859-1格式接收數(shù)據(jù)并進行轉(zhuǎn)換

NSString *retStr = [[NSString alloc]initWithData:value encoding:enc];

NSData*resultData = [retStr dataUsingEncoding:enc];

NSArray *resultArr = [NSJSONSerialization JSONObjectWithData:resultData options:NSJSONReadingAllowFragments error:nil];


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容