Ascii <--> Hex
foxd 2010-08-11 09:18:44 下面是我从网上搜来的c语言Ascii <-> Hex的函数(不知道可用否?),我对c语言不熟,不太会用这些函数。
假如我声明字符数组如下:
unsigned char pwd[6] = "\0";
unsigned char hex_pwd[6]="\0";
应使用什么样的赋值语句让pwd字符数组的内容为:"SUN435",再就是我应该如何调用下面的函数来做Ascii <-> Hex的转换呢,最好给个实际调用代码供我学学。谢谢!
//函 数 名:CharToHex()
//功能描述:把ASCII字符转换为16进制
//函数说明:
//调用函数:
//全局变量:
//输 入:ASCII字符
//返 回:16进制
/////////////////////////////////////////////////////////////////////
unsigned char CharToHex(unsigned char bHex){
if((bHex>=0)&&(bHex<=9))
bHex += 0x30;
else if((bHex>=10)&&(bHex<=15))//大写字母
bHex += 0x37;
else bHex = 0xff;
return bHex;
}
/////////////////////////////////////////////////////////////////////
//函 数 名:HexToChar()
//功能描述:把16进制转换为ASCII字符
//函数说明:
//调用函数:
//全局变量:
//输 入:16进制
//返 回:ASCII字符
/////////////////////////////////////////////////////////////////////
unsigned char HexToChar(unsigned char bChar){
if((bChar>=0x30)&&(bChar<=0x39))
bChar -= 0x30;
else if((bChar>=0x41)&&(bChar<=0x46))//大写字母
bChar -= 0x37;
else if((bChar>=0x61)&&(bChar<=0x66))//小写字母
bChar -= 0x57;
else bChar = 0xff;
return bChar;
}