繁体   English   中英

将字符串中的所有字符转换为十六进制并放入C中的数组

[英]convert all chars in string to hex and put in array in C

我有一个字符串unsigned char msg[] = "abcd"; 并希望将其转换为十六进制并将其放入数组中,如下所示: char msg_hex[4] = {0x61, 0x62, 0x63, 0x64};

如何在C语言中完成?

您的问题是基于一种误解。 值是您可以拥有多少东西。 您可以拥有三辆车。 表示形式是对值进行编码的方式。 如果您有三辆汽车,则可以将该值表示为“ 3”或“ III”或“三”,并且该值相同。 十六进制是一种表示方法

因此,请考虑以下两位代码:

int i = 3;

int i = 0x3;

他们都将i设置为完全相同的值。 他们只是在源代码中使用不同的表示形式。 但是i拥有一个整数值 ,实现在内部使用一些内部表示形式(通常为二进制补码),并且该内部表示形式将是相同的。

所以你的问题没有道理。 您只能将值存储在数组中,并且实现总是以表示这些特定值所需的任何方式来表示它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM