相当新的 iPhone 开发人员在这里。构建应用程序以通过 TCP/IP 套接字连接将 RS232 命令发送到期望它们的设备。我已经关闭了通讯部分,并且可以很好地发送 ASCII 命令。这是我遇到问题的十六进制代码命令。
所以假设我有以下十六进制数据要发送(以这种格式):
\x1C\x02d\x00\x00\x00\xFF\x7F
如何将其转换为我的 send 方法所期望的 NSData 对象?
显然,这不适用于此十六进制数据(但适用于标准 ascii 命令):
NSString *commandascii;
NSData *commandToSend;
commandascii = @"\x1C\x02d\x00\x00\x00\xFF\x7F";
commandToSend = [commandascii dataUsingEncoding:NSStringEncoding];
首先,一些 \x 十六进制代码是转义字符,我在 XCode 中编译时收到“输入转换停止...”警告。而且 NSStringEncoding 显然也不适合这个十六进制字符串。
所以第一个问题是我猜如何存储这个十六进制字符串,然后如何转换为 NSData。
有任何想法吗?