我需要有人通过NSStream向我发送二进制数据,我会将其转换为NSString。他们需要知道什么是二进制表示(字节大小,字节顺序)才能将数据成功转换回NSString中的相同字符串?
答案 0 :(得分:1)
首先获取数据并将其转换为NSData
然后将NSData
转换为NSString
NSString* newStr = [[[NSString alloc] initWithData:theData
encoding:NSUTF8StringEncoding] autorelease];
如果数据以空值终止,则应使用-stringWithUTF8String:以避免结尾处的额外\ 0。
NSString* newStr = [NSString stringWithUTF8String:[theData bytes]];
(如果您启用了ARC,请删除-autorelease调用。)