简单、常用的字符串转二进制代码

  1. int  
  2. parse( TCHAR *strtext, unsigned char *binbuf )  
  3. {  
  4.     size_t l = _tcslen( strtext );  
  5.     int thelen = 0;  
  6.     size_t i;  
  7.     unsigned char a;  
  8.     unsigned short t;  
  9.   
  10.     for( i = 0; i < l; i++ )  
  11.     {  
  12.         if( XIEGANG == strtext[ i ] )  
  13.         {  
  14.             do  
  15.             {  
  16.                 strtext[ i ] = 0x20;  
  17.                 i++;  
  18.             } while( 0x0a != strtext[ i ] && 0x0d != strtext[ i ] && 0x00 != strtext[ i ] );  
  19.         }  
  20.     }  
  21.   
  22.     for( i = 0; i < l; i++ )  
  23.     {  
  24.         if( ( strtext[ i ] >= '0' && strtext[ i ] <= '9' ) ||  
  25.             ( strtext[ i ] >= 'A' && strtext[ i ] <= 'F' ) ||  
  26.             ( strtext[ i ] >= 'a' && strtext[ i ] <= 'f' ) )  
  27.         {  
  28.             if( strtext[ i ] >= '0' && strtext[ i ] <= '9' )  
  29.                 a = strtext[ i ] - '0';  
  30.             if( strtext[ i ] >= 'A' && strtext[ i ] <= 'F' )  
  31.                 a = strtext[ i ] - 'A' + 10;  
  32.             if( strtext[ i ] >= 'a' && strtext[ i ] <= 'f' )  
  33.                 a = strtext[ i ] - 'a' + 10;  
  34.   
  35.             thelen++;  
  36.   
  37.             if( thelen % 2 )    //如果是第奇数个1,3,5  
  38.             {  
  39.                 t = a;  
  40.             }  
  41.             else  
  42.             {  
  43.                 t <<= 4;  
  44.                 t += a;  
  45.                 *( binbuf + ( thelen / 2 ) - 1 ) = ( unsigned char )t;  
  46.             }  
  47.         }  
  48.     }  
  49.     return thelen / 2;  
  50. }  
适用于分行读入用"//"当注释的数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值