我想將十六進制值存儲到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