将16进制字符串“313233”转换为字符串“123”
void HexStrToBuf(uint8_t *Buf, char *Str, uint16_t StrLen)
{
uint8_t Hex;
uint16_t i, N = 0;
if(StrLen > 1000 || StrLen % 2 != 0)return;//必要的保护
for(i = 0; i < StrLen ;)
{
if(Str[i] >= '0' && Str[i] <= '9')Hex = (Str[i] - 48) << 4;
else if(Str[i] >= 'A' && Str[i] <= 'F')Hex = (Str[i] - 55) << 4;
else if(Str[i] >= 'a' && Str[i] <= 'f')Hex = (Str[i] - 87) << 4;
i++;//防止死循环
if(Str[i] >= '0' && Str[i] <= '9')Hex += (Str[i] - 48);
else if(Str[i] >= 'A' && Str[i] <= 'F')Hex += (Str[i] - 55);
else if(Str[i] >= 'a