小编Tyr*_*les的帖子

如何将char转换为以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;
Run Code Online (Sandbox Code Playgroud)

我如何将ndef_input(只是一个纯文本,如"你好")转换为十六进制并保存到ndef_msg?正如您所看到的那样ndef_default_msg是十六进制形式.里面的数据也ndef_msg应该是这样的.

有点背景,在原始程序(源代码)中,程序将打开一个文件,获取数据并将其放入内部ndef_msg,然后将其写入卡中.但我不明白它如何获取数据并转换为十六进制.

我想简化程序,以便直接询问用户的文本(​​而不是要求文件).

c hex uint

1
推荐指数
1
解决办法
2万
查看次数

标签 统计

c ×1

hex ×1

uint ×1