天天看點

文本字元串與二進制字元串互轉

  /// <summary>

  /// 将文本字元串轉換成帶,号分離的二進制字元串

  /// </summary>

  /// <param name="strContent">文本字元串</param>

  /// <returns>帶,号分離的二進制字元串</returns>

  private string strTextTostrBin(string strText)

  {

   byte[] bytearr=null;

   string stringtobin="";

   System.Text.Encoding encoding = System.Text.Encoding.UTF8;

   bytearr=encoding.GetBytes(strText);

   for(int i=0;i<bytearr.Length;i++)

   {

    stringtobin+=","+bytearr[i].ToString();

   }

   return stringtobin.Substring(1);

  }

  /// <summary>

  /// 将帶,号分離的二進制字元串轉換成文本字元串

  /// </summary>

  /// <param name="strBin">帶,号分離的二進制字元串</param>

  /// <returns>文本字元串</returns>

  private string strBinTostrText(string strBin)

  {

   string [] bintostr=strBin.Split(',');

   Array binArray=Array.CreateInstance(Type.GetType("System.Byte"),bintostr.Length);

   for(int i=binArray.GetLowerBound(0);i<=binArray.GetUpperBound(0);i++)

   {

    binArray.SetValue(byte.Parse(bintostr[i]+""),i);

   }

   byte[] strtobin=new byte[bintostr.Length];

   for(int i=binArray.GetLowerBound(0);i<=binArray.GetUpperBound(0);i++)

   {

    strtobin[i]=(byte)binArray.GetValue(i);

   }

   System.Text.Encoding encoding = System.Text.Encoding.UTF8;

   return encoding.GetString(strtobin); 

  }