#include <stdio.h>
#include <string.h>
int main(void) {
char text[] = "thank you";
char hex[100], string[50];
// Convert text to hex.
int i,j;
for ( i = 0, j = 0; i < len; i++, j+= 5) {
sprintf(hex
+ j
, "0x%02X ", text
[i
] ); }
printf("'%s' in hex is %s.\n", text
, hex
); //'thank you' in hex is 7468616e6b20796f75.
// Convert the hex back to a string.
for (i = 0, j = 2; j < len; i++, j+= 5) {
int val;
string[i] = val;
}
string[i + 1] = '\0';
printf("%s as a string is '%s'.\n", hex
, string
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCmludCBtYWluKHZvaWQpIHsKICAgIGNoYXIgdGV4dFtdID0gInRoYW5rIHlvdSI7CiAgICBpbnQgbGVuID0gc3RybGVuKHRleHQpOwoKICAgIGNoYXIgaGV4WzEwMF0sIHN0cmluZ1s1MF07CgogICAgLy8gQ29udmVydCB0ZXh0IHRvIGhleC4KICAgIGludCBpLGo7CgogICAgZm9yICggaSA9IDAsIGogPSAwOyBpIDwgbGVuOyBpKyssIGorPSA1KSB7CiAgICAgICAgc3ByaW50ZihoZXggKyBqLCAiMHglMDJYICIsIHRleHRbaV0gKTsKICAgICAgICBwcmludGYoIjB4JVggIiwgdGV4dFtpXSApOwogICAgfQogICAgcHJpbnRmKCInJXMnIGluIGhleCBpcyAlcy5cbiIsIHRleHQsIGhleCk7IC8vJ3RoYW5rIHlvdScgaW4gaGV4IGlzIDc0Njg2MTZlNmIyMDc5NmY3NS4KCiAgICAvLyBDb252ZXJ0IHRoZSBoZXggYmFjayB0byBhIHN0cmluZy4KICAgIGxlbiA9IHN0cmxlbihoZXgpOwogICAgZm9yIChpID0gMCwgaiA9IDI7IGogPCBsZW47IGkrKywgais9IDUpIHsKICAgICAgICBpbnQgdmFsOwogICAgICAgIHNzY2FuZihoZXggKyBqLCAiJTJ4IiwgJnZhbCk7CiAgICAgICAgc3RyaW5nW2ldID0gdmFsOwogICAgfQogICAgc3RyaW5nW2kgKyAxXSA9ICdcMCc7CiAgICBwcmludGYoIiVzIGFzIGEgc3RyaW5nIGlzICclcycuXG4iLCBoZXgsIHN0cmluZyk7CgogICAgcmV0dXJuIDA7Cn0K