在開發(fā)工程中和服務(wù)器之間的通訊為Socket協(xié)議時(shí),接受和發(fā)送的數(shù)據(jù)都是NSData類型的,今天遇到的問題就是從服務(wù)器返回的NSData類型的數(shù)據(jù),顯示的有數(shù)據(jù),然后經(jīng)過正常的解析方法
NSString* ret = [[[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding] ];轉(zhuǎn)化為字符串的時(shí)候顯示的nil,經(jīng)過查證估計(jì)有可能是編碼,導(dǎo)致轉(zhuǎn)換后的NSString類型的字符串為空。
解決方法可通過修改返回的字符的編碼或者使用以下的方法 :
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding (kCFStringEncodingGB_18030_2000);
ret = [[NSString alloc]initWithData:responseData encoding:enc];
來糾正。