C#二进制与字符串之间的相互转换

时间:2023-01-11 20:33:53

转载连接:http://www.cnblogs.com/weihengblogs/archive/2013/12/23/3487257.html


        /// <summary>
        /// 将字符串转成二进制
        /// </summary>
        /// <param name="s"></param>
        /// <returns></returns>
        public static string bianma(string s)
        {
            byte[] data = Encoding.Unicode.GetBytes(s);
            StringBuilder result = new StringBuilder(data.Length * 8);


            foreach (byte b in data)
            {
                result.Append(Convert.ToString(b, 2).PadLeft(8, '0'));
            }
            return result.ToString();
        }


    /// <summary>
          /// 将二进制转成字符串
          /// </summary>
          /// <param name="s"></param>
          /// <returns></returns>
          public static string jiema(string s)
          {
              System.Text.RegularExpressions.CaptureCollection cs =
                  System.Text.RegularExpressions.Regex.Match(s, @"([01]{8})+").Groups[1].Captures;
            byte[] data = new byte[cs.Count];
            for (int i = 0; i < cs.Count; i++)
            {
                data[i] = Convert.ToByte(cs[i].Value, 2);
            }
            return Encoding.Unicode.GetString(data, 0, data.Length);
        }