0

我需要有人通过 NSStream 向我发送二进制数据,然后我会将其转换为 NSString。他们需要知道什么二进制表示(字节大小、字节顺序)才能让我成功地将数据转换回 NSString 中的相同字符串?

4

1 回答 1

1

首先获取数据并转换成NSData 然后转换NSDataNSString

NSString* newStr = [[[NSString alloc] initWithData:theData
                                         encoding:NSUTF8StringEncoding] autorelease];

如果数据以空值结尾,则应改为使用 -stringWithUTF8String: 以避免末尾的额外 \0。

NSString* newStr = [NSString stringWithUTF8String:[theData bytes]];

(如果您启用了 ARC,请删除 -autorelease 调用。)

于 2012-09-07T18:05:44.667 回答