C program to convert String into Hexadecimal
Write a C program to convert String into Hexadecimal. This article shows you how to convert string into hexadecimal. Below is the code that is used to convert a string to hexadecimal format.
Hexadecimal
According To Wikipedia,
In mathematics and computing, hexadecimal (also base 16, or hex) is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F (or alternatively a, b, c, d, e, f) to represent values ten to fifteen.
- Hexadecimal numerals are widely used by computer system designers and programmers. One hexadecimal digit represents a nibble (4 bits), which is half of an octet or byte (8 bits).
- For example, a single byte can have values ranging from 00000000 to 11111111 in binary form, but this may be more conveniently represented as 00 to FF in hexadecimal.
- The prefix “0x” is used in C and related languages, where this value might be denoted as 0x2AF3.
In this program we will read a String and convert the string to Hexadecimal String. We will convert each character of the string in it’s equivalent hexadecimal value and insert the converted value in a string and finally print the Hexadecimal String.
Below is the source code of the C program to convert String to Hexadecimal which is successfully compiled and run on the windows system.The Output of the program is shown below.
SOURCE : :
#include <stdio.h>
#include <string.h>
int main()
{
unsigned char str[100],strH[200];
int i,j;
printf("Enter string: ");
scanf("%[^\n]s",str);
printf("\nString is: %s\n",str);
/*set strH with nulls*/
memset(strH,0,sizeof(strH));
/*converting str character into Hex and adding into strH*/
for(i=0,j=0;i<strlen(str);i++,j+=2)
{
sprintf((char*)strH+j,"%02X",str[i]);
}
strH[j]='\0'; /*adding NULL in the end*/
printf("Hexadecimal converted string is: \n");
printf("%s\n",strH);
return 0;
}
Output : :
Enter string: CodezClub String is: CodezClub Hexadecimal converted string is: 436F64657A436C7562