+-
c – 如何将字符串(字符数组)中的UUID转换为静态uint8_t adv_data [31]
我有一个像这样的“3bb098f-b8b0-4d1b-baa2-0d93eb7169c4”的iBeacon UUID,我需要它看起来非常像:

static uint8_t adv_data[31] = { 0x02,0x01,0x06, 0x1A,0xFF,0x4C,0x00,0x02,0x15,0x71,0x3d,0x00,0x00,0x50,0x3e,0x4c,0x75,0xba,0x94,0x31,0x48,0xf1,0x8d,0x94,0x1e,0x00,0x00,0x00,0x00,0xC5 };

我需要一种在代码中转换它的方法,但是一种“手动”转换这种方法的方法也很酷(加上arduino代码不必每次都处理转换)

最佳答案
一次红色两个字符,将它们转换为与十六进制值对应的数字.做一个循环.遇到它时,请跳过“ – ”字符.将数组中的“current”元素设置为值.将“current”设置为数组中的下一个元素.

像这个伪代码的东西

while (not at end of string)
{
    char1 = get next character from string;
    char2 = get next character from string;
    value = make int from hex characters(char1, char2);
    array[current++] = value;
}
点击查看更多相关文章

转载注明原文:c – 如何将字符串(字符数组)中的UUID转换为静态uint8_t adv_data [31] - 乐贴网