如何将 HEX 存储在 uint8_t 数组中?

How to store HEX in a uint8_t array?

我想将 HEX 值存储到 uint8_t 数组中。下面是我尝试使用并传递它来设置资源值的代码:

const static uint8_t PSK_KEY[] = "31383031";
security->set_resource_value(M2MSecurity::Secretkey, PSK_KEY, sizeof(PSK_KEY) - 1);

或者我需要在 ASCII 中设置 PSK_KEY 吗?

您可以使用

PSK_KEY[]= { 0x31,0x38,0x30,0x31}

PSK_KEY[]= { '1','8','0','1'}

这取决于你的意思。

"Store hex"(为什么要大写?)有点不清楚。

如果 PSK 的值为 0x31、0x38、0x30、0x31 这四个字节,那么您需要以不同的方式编写它以获得正确的结果:

static const uint8_t PSK_KEY[] = { 0x31, 0x38, 0x30, 0x31 };

当然这四个是ASCII,所以你可以用文本表达同样的数据:

static const uint8_t PSK_KE[] = "1801";