如何在C中将字符串转换为ASCII的hex代码

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

现在我需要将它转换为每个字符的ASCII代码的hex代码,以便我可以将其插入到数据库的blob中。

任何人都可以提供任何库函数来转换字符串吗?

您可以通过sprintf将字符格式化为hex代码。

#include  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; } 

尝试将ascii string / char转换为hex表示字符串。

如果您想使用sprintf进行正确的转换非常重要,那就是使用unsigned char变量。 一些char字符串以unicode字符串格式出现 ,需要先将它们转换为“unsigned char”

 #include  #include  int main(void){ unsigned char word[17], unsigned outword[33];//17:16+1, 33:16*2+1 int i, len; printf("Intro word:"); fgets(word, sizeof(word), stdin); len = strlen(word); if(word[len-1]=='\n') word[--len] = '\0'; for(i = 0; i