相关疑难解决方法(0)

在目标C中将十六进制数据字符串转换为NSData(可可)

相当新的iPhone开发人员.构建一个应用程序,通过TCP/IP套接字连接向设备发送RS232命令.我已经将通信部分关闭,并且可以发送ASCII命令.这是我遇到问题的十六进制代码命令.

所以我要说我要发送以下十六进制数据(采用这种格式):

\ X1C\x02d\X00\X00\X00\XFF\0x7F部分

如何将其转换为我的send方法所期望的NSData对象?

显然这对于​​这个十六进制数据不起作用(但是对于标准的ascii命令):

NSString *commandascii;
NSData *commandToSend;
commandascii = @"\x1C\x02d\x00\x00\x00\xFF\x7F";
commandToSend = [commandascii dataUsingEncoding:NSStringEncoding];
Run Code Online (Sandbox Code Playgroud)

首先,一些\ x十六进制代码是转义字符,在XCode中编译时,我收到"输入转换已停止..."警告.并且NSStringEncoding显然不适合这个十六进制字符串.

所以第一个问题是如何存储这个十六进制字符串我猜,然后如何转换为NSData.

有任何想法吗?

iphone cocoa hex objective-c nsdata

10
推荐指数
2
解决办法
4万
查看次数

标签 统计

cocoa ×1

hex ×1

iphone ×1

nsdata ×1

objective-c ×1