将文本转换为十六进制等效

时间:2013-12-05 06:17:48

标签: converter hex

我看过很多关于转换字符串“37878”的问题,因此它可以用作int或hex值。我想知道如何转换让我们说“EOF”到454f46这是十六进制的等价物。 Plz的帮助。这是在c ++中

1 个答案:

答案 0 :(得分:1)

当分解为45,4f和46时,值0x454f46只是以十六进制表示法表示的E,O和F的ASCII字符代码。

要获取c中char的ASCII值,您需要做的只是

char c = 'E'
int i = (int)c

现在我将保持值69或0x45。

C中的完整示例:

#include <stdio.h>

void convert(char *test)
{
   int i =0;

   while (test[i] != 0)
   {
      printf("%X",(int)test[i]);
      ++i;
   }
   printf("\n");

}

int main()
{
   char *test="EOF";
   convert(test);
}

产生:

$ gcc c2hex.c 
$ ./a.out 
454F46