假設我有這些變量,如何將字符轉換爲十六進制存儲在uint8_t形式?
const uint8_t ndef_default_msg[33] = {
0xd1, 0x02, 0x1c, 0x53, 0x70, 0x91, 0x01, 0x09,
0x54, 0x02, 0x65, 0x6e, 0x4c, 0x69, 0x62, 0x6e,
0x66, 0x63, 0x51, 0x01, 0x0b, 0x55, 0x03, 0x6c,
0x69, 0x62, 0x6e, 0x66, 0x63, 0x2e, 0x6f, 0x72,
0x67
};
uint8_t *ndef_msg;
char *ndef_input = NULL;
我如何轉換ndef_input
(這只是一個簡單的文本,如「你好」),以十六進制和保存到ndef_msg
? 正如你所看到的ndef_default_msg
是十六進制形式。 ndef_msg
中的數據也應該是這樣的。
有一點背景,在原程序(source code)中,程序會打開一個文件,獲取數據並將其放入ndef_msg
,然後寫入卡片。但我不明白它如何將數據轉換爲十六進制。
我想簡化程序,所以它會直接詢問用戶的文本(而不是要求文件)。
你希望利用用戶輸入'ndef_input'並保存輸入的字符的ASCII值進入'ndef_msg',還是我誤解了你?或者用戶應該輸入實際的十六進制值? – Dervall 2012-02-22 14:03:32
你知道數據是以二進制形式存儲在內存中的,而且你已經擁有用戶輸入的每個字符的十六進制「版本」? – Eregrith 2012-02-22 14:07:46
@Dervall,的確這就是我打算做的。用戶只需鍵入簡單的文本,如「hello」,然後程序必須轉換爲十六進制值「hello」。 – 2012-02-22 14:35:19