在开发工程中和服务器之间的通讯为Socket协议时,接受和发送的数据都是NSData
类型的,今天遇到的问题就是从服务器返回的NSData类型的数据,显示的有数据,然后经过正常的解析方法
NSString* ret = [[[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding] ];
转化为字符串的时候显示的nil,经过查证估计有可能是编码,导致转换后的NSString类型的字符串为空。
解决方法可通过修改返回的字符的编码或者使用以下的方法 :
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding (kCFStringEncodingGB_18030_2000);
ret = [[NSString alloc]initWithData:responseData encoding:enc];
来纠正。
网友评论