将二进制转换为十六进制

时间:2013-07-25 18:04:07

标签: c binary hex

我有一个包含大约2个字节数据的二进制文件。我试图读取此数据并将其转换为十六进制,然后将其存储到无符号字符数组中。我目前能够读取二进制数据,但我不知道如何将其转换为十六进制并将其存储到unsigned char数组中(从二进制读取的所有数据将对应于Hex中的1-9)。因此,如果二进制数据是00011000 00011000,我希望unsigned char为{18,18}。如何转换为十六进制,然后将其存储到unsigned char?这就是我现在所拥有的:

FILE *binaryFile = fopen("securityFile","rb");//type binary file
        char hexData[2];
        fread(hexData,1,2,binaryFile);

1 个答案:

答案 0 :(得分:1)

使用sprintf(或snprintf)。见http://libslack.org/manpages/snprintf.3.html