我有代表数据的字符串。我需要将这些数据转换为十六进制数组。通过使用十六进制数组数据,我可以将其传递给 CRC 以写入外设
我的字符串数据是这样的
NSString *stringsdata=@"helloworld1234567812345q";
我需要转换为十六进制格式数组,例如
{0x0h,0x0e............0x0q}.
因此,通过使用这个数组,我可以将数据保留在 crc 中并将其写入外围数据,如下所示
Byte comm[24];
comm[0]=0x01;
comm[1]=0x30;
comm[2]=0x62;
comm[3]=0x00;................
已经尝试了许多可能的解决方案,但运气不佳。任何人都可以提供帮助,我们将不胜感激。
A. 十六进制格式只是另一种表示形式same data.
B. 您没有将它们转换为十六进制数组。每个角色都有一个编号。例如,在 ASCII 和 UTF-8 中A
数字为 65(十进制表示形式)。这是十六进制表示形式的 0x41。
“A”(ASCII)== 65 == 0x41。
十六进制数字包含数字0
-9
, a
-f
,其中a
值为 10,b
11 的值... 将高位数字乘以 16 再加上低位数字,转换为十进制表示形式。 (0x41:4 x 16 + 1 = 65。)
请阅读并理解以下内容:http://en.wikipedia.org/wiki/十六进制
C. 要将字符串转换为数字,您必须知道要应用哪个代码。也许您想使用 UTF-8。
NSString *text = @"helloworld123123989128739";
NSUInteger length = [text lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
char data[length];
[text getCString:data maxLength:length usingEncoding:NSUTF8StringEncoding];
// Here we go
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)