【发布时间】:2013-08-12 19:41:05
【问题描述】:
我想以字节为单位传输数据,并且在接收方想要生成相同的 NSData 对象。我的数据大小可以不断变化。我能够定义正确的长度,用于接收端生成相同的对象。
NSDictionary *aWritableFields = @{@"Data1": @"1", @"Data2": @"2", @"Data3": @"3", @"Data4" : @"4"};
NSData *aData = [NSJSONSerialization dataWithJSONObject:aWritableFields options:0 error:nil];
uint32_t *bytes = (uint32_t *)aData.bytes;
在接收端,我想构造相同的 NSData 对象。为此,我使用以下方法,但这给了我额外的信息。我应该如何定义长度,以便它为我提供正确的 NSData 对象。
[NSData dataWithBytes:iBytes length:sizeof(uint32_t)*24];
我发送的数据对象是:
但是在接收器端我得到了因为长度过长:
7b225555 4944223a 2231222c 224d696e 6f72223a 2231222c 22506f77 6572223a 2233222c 224d616a 6f72223a 2232227d a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3>
【问题讨论】:
标签: ios objective-c cocoa-touch nsdata uint32