16进制字符串转字符

类别:.NET开发 点击:0 评论:0 推荐:

 /// <summary>
  /// 16进制转字符
  /// </summary>
  /// <param name="str1"></param>
  /// <returns></returns>
  public string HexToStr(string str1)
  {
   string returnValue = "";

   if(str1=="")
    return "";

   byte[] w = new byte[str1.Length/2];

   for(int i = 0;i<str1.Length;i++)
   {
    w[i] = HexToStr(str1,i+1);
   }

   returnValue = System.Text.Encoding.Default.GetString(w);
   return returnValue;
  }
  /// <summary>
  /// 16进制转字符
  /// </summary>
  /// <param name="str1"></param>
  /// <param name="spage"></param>
  /// <returns></returns>
  byte HexToStr(string str1,int spage)
  {
   string returnValue;
   int intTemp;
   int ipage = Convert.ToInt32(spage);
   int StartInt = 0;
   int iLengthInt = 2;

   intTemp = str1.Length;//取得字符串长度
   
   if(ipage==1)
   {
    StartInt = 0;
    iLengthInt = 2;
   }
   else
   {
    StartInt = (ipage-1) * iLengthInt;

    if((intTemp-ipage*2)<2)
    {
     iLengthInt = intTemp-(ipage-1)*2;
    }
    else
    {
     iLengthInt = 2;
    }
   }

   returnValue = str1.Substring(StartInt,iLengthInt);

   returnValue = ConvertString(returnValue,16,10);

   return Convert.ToByte(returnValue);
  }

  /// <summary>
  /// ConvertString(值,來源进制,目的进制);
  /// </summary>
  /// <param name="value"></param>
  /// <param name="fromBase"></param>
  /// <param name="toBase"></param>
  /// <returns></returns>
  string ConvertString(string value, int fromBase, int toBase)
  {
   int intValue = Convert.ToInt32(value, fromBase);
   return Convert.ToString(intValue, toBase);
  }

本文地址:http://com.8s8s.com/it/it43416.htm