我想像这样创建一个Byte数组;
Byte UUID[] = {0xEB, 0xEF, 0xD0, 0x83, 0x70, 0xA2, 0x47, 0xC8, 0x98, 0x37, 0xE7, 0xB5, 0x63, 0x4D, 0xF5, 0x24};
但我面临的问题是,我需要以NSMutableArray
编程填充上述数组中的所有元素,其中包含如下值;
(
0xEB,
0xEF,
0xD0,
0x83,
0x70,
0xA2,
0x47,
0xC8,
0x98,
0x37,
0xE7,
0xB5,
0x63,
0x4D,
0xF5,
0x24
)
我已尝试使用每个索引的整数值,但它在字节数组中显示'/ 0'。 如果有人有任何相关信息,请分享。
谢谢
答案 0 :(得分:1)
假设您有一个字符串“0xEB”,“0xEF”,......的数组,以下内容应该有效:
NSArray *array = @[@"0xEB", @"0xEF", @"0xD0", @"0x83", @"0x70", @"0xA2", @"0x47", @"0xC8", @"0x98", @"0x37", @"0xE7", @"0xB5", @"0x63", @"0x4D", @"0xF5", @"0x24"];
Byte UUID[16];
for (int i = 0; i < 16; i++) {
UUID[i] = strtoul([array[i] UTF8String], NULL, 16);
}
即使字符串没有“0x”前缀,这也有效:
NSArray *array = @[@"EB", @"EF", ...]
因为strtoul(string, ..., 16)
读取带有或不带“0x”前缀的字符串
在base 16中,并将其转换为整数。