大地之光

字符转换函数

将16进制形式的字符转为二进制的形式

char a[]="473DC9D90D352D42B276EA710E0"; --> char b[]="sndb=<>/?"

这种情况有时会遇到,当然也可以直接读取二进制文本获取,使用这个转换函数就是可以直接在程序中赋值一长串的16进制形式

int HexStr2Ch(char s[],unsigned char bits[]) 
{    
    int i,n = 0;    
    for(i = 0; s[i]; i += 2) 
    {        
        if(s[i] >= 'A' && s[i] <= 'F')            
            bits[n] = s[i] - 'A' + 10;        
        else bits[n] = s[i] - '0';        
        if(s[i + 1] >= 'A' && s[i + 1] <= 'F')            
            bits[n] = (bits[n] << 4) | (s[i + 1] - 'A' + 10);        
        else bits[n] = (bits[n] << 4) | (s[i + 1] - '0');        
        ++n;    
    }    
    return n;
}

 

posted on 2018-09-27 15:22  哈哈稻草人  阅读(202)  评论(0)    收藏  举报

导航