【发布时间】:2014-11-20 13:17:21
【问题描述】:
我正在做一个项目,我必须使用蓝牙,显然,所有传入的数据都需要采用 NSData 格式。
我正在使用问题Best way to serialize a NSData into an hexadeximal string 中的实现,但转换不正确。
主要代码sn-p是这样的:
for (int i = 0; i < dataLength; ++i)
[hexString appendString:[NSString stringWithFormat:@"%02lx", (unsigned long)dataBuffer[i]]];
这里发生了错误的转换。我逐字节检查。
一些转换示例:
NSData: 十六进制字符串:00240043043d0493000000000000000000000000
NSData: 十六进制字符串:002300450435049a000000000000000000000000
NSData: 十六进制字符串:00250045044e04a9000000000000000000000000
NSData: 十六进制字符串:00250043043b0497000000000000000000000000
实现有问题吗?
【问题讨论】:
-
您确定问题不在您的代码中吗?看来“Hex String”和下一个NSData一样……
-
检查这个问题stackoverflow.com/questions/7520615/… 我认为这正是您所需要的。 [1]:
-
我无法找出问题的根源...我使用了两个sn-ps 代码,一个在描述中提到,另一个是您所指的。这两种解决方案具有不同的输出,并且总是与 NSData 不同。
标签: ios objective-c string bluetooth