我想将十六进制值存储到uint8_t
数组中。下面是我尝试使用,并通过它来设置资源价值的代码:如何在uint8_t数组中存储HEX?
const static uint8_t PSK_KEY[] = "31383031";
security->set_resource_value(M2MSecurity::Secretkey, PSK_KEY, sizeof(PSK_KEY) - 1);
或者我需要设置在ASCII的PSK_KEY
?
我想将十六进制值存储到uint8_t
数组中。下面是我尝试使用,并通过它来设置资源价值的代码:如何在uint8_t数组中存储HEX?
const static uint8_t PSK_KEY[] = "31383031";
security->set_resource_value(M2MSecurity::Secretkey, PSK_KEY, sizeof(PSK_KEY) - 1);
或者我需要设置在ASCII的PSK_KEY
?
这取决于你的意思。
“存储十六进制”(为什么你写在大写?)有点不清楚。
如果PSK的值是四个字节0X31,0x38,为0x30,0X31那么你需要不同的看法写来获得正确的结果:
static const uint8_t PSK_KEY[] = { 0x31, 0x38, 0x30, 0x31 };
当然
这四个都是ASCII,所以你可以表示与文字相同的数据:
static const uint8_t PSK_KE[] = "1801";
您可以使用
PSK_KEY[]= { 0x31,0x38,0x30,0x31}
OR
PSK_KEY[]= { '1','8','0','1'}
你是什么意思?您的代码已经使用ASCII。 '“31383031”' – Lundin
为什么你从密钥大小减去1,涉及到这个例子:https://docs.mbed.com/docs/mbed-client-guide/en/latest/Howto/它没有完成? –
这是无效的C代码。请使用正确的语言标签,并且不要使用与标签无关的垃圾邮件。 – Gerhardh