首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用NSOutputStream发送字节阵列

用NSOutputStream发送字节阵列
EN

Stack Overflow用户
提问于 2015-02-13 14:39:06
回答 1查看 673关注 0票数 0

我必须向IP发送8位字节数组,因为NSMutableArray包含0到255之间的整数值,并且据我所知,在发送数据之前必须将其转换为nsdata。

代码语言:javascript
复制
NSString *error;
NSData *data = [NSPropertyListSerialization dataFromPropertyList dataTobeSent format:NSPropertyListBinaryFormat_v1_0 errorDescription:&error];

[outputStream write:[data bytes] maxLength:[data length]];

我正在使用这种方式,但是它给了我超过8个字节的NSdata对象

如有任何帮助,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-13 15:00:15

您对NSPropertyListSerialization做了错误的假设,无论您指定什么格式,它都将构造一个可以转换回propertyListObject的NSData对象,因此您将拥有的不仅仅是原始数据。

你应该做些像

代码语言:javascript
复制
uint8_t dataArray[8]; // an 8 byte array
for (NSInteger i = 0; i < 8; i++) {
    dataArray[i] = (uint8_t) [dataTobeSent[0] integerValue];
}

[outputStream write:dataArray maxLength:8];

确保您的dataTobeSent确实是一个具有8个值的数组,否则修改代码

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28501967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档