我正在尝试通过WiFi发送十六进制数据。

代码是这样的:

NSString *abc = @"0x1b 0x50";
NSData *data = [[[NSData alloc] initWithData:[abc dataUsingEncoding:NSASCIIStringEncoding]]autorelease];
[outputStream write:[data bytes] maxLength:[data length]]];


而不是发送十六进制数据,它以文本格式发送。
我尝试使用NSUTF8StringEncoding,但是相同。我在NSStream类中使用它。

最佳答案

NSString *abc = @"0x1b 0x50"不能满足您的期望。它与具有NSString *abc = @"cat dog 123 0x0x0x"几乎相同;只是一堆用空格隔开的单词。因此,当您创建NSData对象时,您只是使用字符串而不是一系列实际数字对其进行初始化。

如果您可以将电话号码放入NSArray,则此问题/答案应会帮助您:How to convert NSArray to NSData?

关于objective-c - 将十六进制数据发送到设备(将NSString转换为十六进制数据),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7164519/

10-09 05:01