int HexDecode( unsigned char *instr, int inlen, unsigned char *outstr )
{
int i = 0;
int j = 0;
while( i<inlen )
{
if( instr[i]>='a' )
outstr[j]=instr[i]-0x57;
else
outstr[j]=instr[i]-'0';
outstr[j] = outstr[j]<<4;
i++;
if( instr[i]>='a' )
outstr[j]=outstr[j]|(instr[i]-0x57);
else
outstr[j]=outstr[j]|(instr[i]-'0');
j++;
i++;
}
return j;
}
int HexEncode( unsigned char *instr, int inlen, unsigned char *outstr )
{
int i = 0;
int j = 0;
while( i<inlen )
{
if( (instr[i]&0xF0)>=0xA0 )
outstr[j] = (instr[i]>>4) + 0x57 - 32;
else
outstr[j] = (instr[i]>>4) + '0';
j++;
if( (instr[i]&0x0F)>=0x0A )
outstr[j] = (instr[i]&0x0F) + 0x57 - 32;
else
outstr[j] = (instr[i]&0x0F) + '0';
i++;
j++;
}
return j;
}
本文介绍了一组用于十六进制编码与解码的C语言函数。hexEncode函数将输入的字节序列转换为对应的十六进制表示形式,而hexDecode函数则实现了从十六进制字符串还原为原始字节序列的过程。这些函数适用于处理二进制数据的场景。
858

被折叠的 条评论
为什么被折叠?



