我正在尝试通过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/