当前位置:   article > 正文

Hex和ASCII相互转换函数_hex2ascii

hex2ascii

以下两个函数用于实现十六进制和ASCII码值之间的转换

  1. int Hex2Ascii(char* hex, char* ascii)
  2. {
  3. int len = strlen(hex), tlen, i, cnt;
  4. for (i = 0, cnt = 0, tlen = 0; i<len; i++)
  5. {
  6. char c = toupper(hex[i]);
  7. if ((c>='0'&& c<='9') || (c>='A'&& c<='F'))
  8. {
  9. BYTE t = (c >= 'A') ? c - 'A' + 10 : c - '0';
  10. if (cnt)
  11. ascii[tlen++] += t, cnt = 0;
  12. else
  13. ascii[tlen] = t << 4, cnt = 1;
  14. }
  15. }
  16. return tlen;
  17. }
  18. int Ascii2Hex(char* ascii, char* hex)
  19. {
  20. int i, len = strlen(ascii);
  21. char chHex[] = "0123456789ABCDEF";
  22. for (i = 0; i<len; i++)
  23. {
  24. hex[i*3] = chHex[((BYTE)ascii[i]) >> 4];
  25. hex[i*3 +1] = chHex[((BYTE)ascii[i]) & 0xf];
  26. hex[i*3 +2] = ' ';
  27. }
  28. hex[len * 3] = '\0';
  29. return len * 3;
  30. }
  31. //! 发送数据


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/1007454
推荐阅读
相关标签
  

闽ICP备14008679号