在C ++中将字符串转换为十六进制ASCII值

在本教程中,我们将讨论将字符串转换为十六进制ASCII值的程序。

为此,我们将提供一个字符串。我们的任务是将特定的给定字符串打印为等效的十六进制。

示例

#include <stdio.h>
#include <string.h>
//将字符串转换为十六进制
void convert_hexa(char* input, char* output){
   int loop=0;
   int i=0;
   while(input[loop] != '\0'){
      sprintf((char*)(output+i),"%02X", input[loop]);
      loop+=1;
      i+=2;
   }
   //标记字符串的结尾
   output[i++] = '\0';
}
int main(){
   char ascii_str[] = "nhooo.com";
   int len = strlen(ascii_str);
   char hex_str[(len*2)+1];
   //函数调用
   convert_hexa(ascii_str, hex_str);
   printf("ASCII: %s\n", ascii_str);
   printf("Hexadecimal: %s\n", hex_str);
   return 0;
}

输出结果

ASCII: nhooo.com
Hexadecimal: 7475746F7269616C7320706F696E74