我想以字节为单位传输数据,并且在接收方想要生成相同的 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>
但是在接收器端,由于长度过长,我得到:
< 7b225555 4944223a 2231222c 224d696e 6f72223a 2231222c 22506f77 6572223a 2233222c 224d616a 6f72223a 2232227d a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3>