如何在C语言中将字符串转换为ASCII的十六进制代码

如何在C语言中将字符串转换为ASCII的十六进制代码,c,string,C,String,我有这样一个字符串“你好” 现在我需要将它转换为每个字符的ASCII码的十六进制码,以便将其插入数据库的blob中 有人能提供任何库函数来转换字符串吗?您只需通过将字符格式化为十六进制代码即可 #包括 int main(int argc,char*argv[]){ char buf[255]={0}; char yourString[255]={“Hello”}; for(size\u t i=0;i

我有这样一个字符串“你好”

现在我需要将它转换为每个字符的ASCII码的十六进制码,以便将其插入数据库的blob中


有人能提供任何库函数来转换字符串吗?

您只需通过将字符格式化为十六进制代码即可

#包括
int main(int argc,char*argv[]){
char buf[255]={0};
char yourString[255]={“Hello”};
for(size\u t i=0;i
您只需通过将字符格式化为hexcode即可

#包括
int main(int argc,char*argv[]){
char buf[255]={0};
char yourString[255]={“Hello”};
for(size\u t i=0;i
尝试将ascii字符串/字符转换为十六进制表示字符串

非常重要如果要使用sprintf进行正确的转换,请使用无符号字符变量。一些字符字符串采用unicode字符串格式,需要先将其转换为“无符号字符”

#包括
#包括
内部主(空){
无符号字符字[17],无符号向外[33];//17:16+1,33:16*2+1
int i,len;
printf(“介绍词:”);
fgets(word、sizeof(word)、stdin);
len=strlen(单词);
如果(字[len-1]='\n')
字[--len]='\0';

对于(i=0;i请尝试将ascii字符串/字符转换为十六进制表示字符串

非常重要如果要使用sprintf进行正确的转换,请使用无符号字符变量。一些字符字符串采用unicode字符串格式,需要首先转换为“无符号字符”

#包括
#包括
内部主(空){
无符号字符字[17],无符号向外[33];//17:16+1,33:16*2+1
int i,len;
printf(“介绍词:”);
fgets(word、sizeof(word)、stdin);
len=strlen(单词);
如果(字[len-1]='\n')
字[--len]='\0';

对于(i=0;如果您只想将字符串中的最后一个字符转换为buffer@BackDoorNoBaby答案只是为了说明这个库函数可以用于此目的而编写的。请查找更新后的答案,其中包含将完整字符串转换为hex.Thi的完整代码示例如果您只想将字符串中的最后一个字符转换为buffer@BackDoorNoBaby答案只是为了说明这个库函数可以用于此目的。请查找更新的答案,其中包含将完整字符串转换为十六进制的完整代码示例。
#include <stdio.h>

int main(int argc, char* argv[]) {
  char buf[255] = {0};
  char yourString[255] = { "Hello" };
  for (size_t i = 0; i < strlen(yourString); i++) {
    sprintf(buf, "%s%x", buf, yourString[i]);
  }
  printf(buf+ '\n');
  return 0;
}