Chinaunix首页 | 论坛 | 博客
  • 博客访问: 124373
  • 博文数量: 22
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 284
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-16 11:37
个人简介

不是一个称职的程序员……

文章分类

全部博文(22)

文章存档

2014年(15)

2013年(7)

我的朋友

分类: C/C++

2014-01-02 16:28:17

//将一个字符串转换成十六进制
void
 Widget::String2Hex(QString str, QByteArray &senddata)  
  1. {  
  2.     int hexdata,lowhexdata;  
  3.     int hexdatalen = 0;  
  4.     int len = str.length();  
  5.     senddata.resize(len/2);  
  6.     char lstr,hstr;  
  7.     for(int i=0; i
  8.     {  
  9.         //char lstr,  
  10.         hstr=str[i].toAscii();  
  11.         if(hstr == ' ')  
  12.         {  
  13.             i++;  
  14.             continue;  
  15.         }  
  16.         i++;  
  17.         if(i >= len)  
  18.             break;  
  19.         lstr = str[i].toAscii();  
  20.         hexdata = ConvertHexChar(hstr);  
  21.         lowhexdata = ConvertHexChar(lstr);  
  22.         if((hexdata == 16) || (lowhexdata == 16))  
  23.             break;  
  24.         else  
  25.             hexdata = hexdata*16+lowhexdata;  
  26.         i++;  
  27.         senddata[hexdatalen] = (char)hexdata;  
  28.         hexdatalen++;  
  29.     }  
  30.     senddata.resize(hexdatalen);  
  31. }  


 //将一个字符转换成十六进制

char Widget::ConvertHexChar(char ch)  
  1. {  
  2.     if((ch >= '0') && (ch <= '9'))  
  3.         return ch-0x30;  
  4.     else if((ch >= 'A') && (ch <= 'F'))  
  5.         return ch-'A'+10;  
  6.     else if((ch >= 'a') && (ch <= 'f'))  
  7.         return ch-'a'+10;  
  8.     else return (-1);  
  9. }  
阅读(5724) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~