C# 进制转换

来源:互联网 发布:h5响应式企业网站源码 编辑:程序博客网 时间:2024/05/01 06:40
          /// <summary>
        /// 将二进制转换成十进制
        /// </summary>
        public int ConvertToInt(string str)
        {
            int n = 0;
            n = Convert.ToInt32(str, 2);
            //n = Convert.ToInt32(str, 8);//八进制转十进制
            //n = Convert.ToInt32(str, 10);//十六进制转十进制
            return n;
        }


        /// <summary>
        /// 将二进制转换成八进制
        /// </summary>
        public string ConvertTo8(string bin)
        {
            string n = Convert.ToString(Convert.ToInt32(bin, 2), 8);
            return n;
        }

        /// <summary>
        /// 将二进制转换成十六进制
        /// </summary>
        public string ConvertTo16(string bin)
        {
            //string n = string.Format("{0:x}", Convert.ToInt32(bin, 2));
            string n = Convert.ToString(Convert.ToInt32(bin, 2), 16);
            return n;
        }


        /// <summary>
        /// 十进制转二进制
        /// </summary>
        public string IntConvertTo2(int bin)
        {
            string n = Convert.ToString(bin, 2);
            return n;
        }

        /// <summary>
        /// 十进制转八进制
        /// </summary>
        public string IntConvertTo8(int bin)
        {
            string n = Convert.ToString(bin, 8);
            return n;
        }

        /// <summary>
        /// 十进制转十六进制
        /// </summary>
        public string IntConvertTo16(int bin)
        {
            string n = Convert.ToString(bin, 16);
            return n;
        }

        /// <summary>
        /// 将ASCII转换成十六进制
        /// </summary>
        public string ASCto16(string message)
        {
            string m = "";
            byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(message);
            StringBuilder sb = new StringBuilder();
            foreach (byte b in ba)
            {
                m = sb.Append(b.ToString("x")).ToString();
            }
            return m;
        }

        /// <summary>
        /// 将十六进制转换成ASCII
        /// </summary>
        public static string HexToASCII(string Msg)
        {
            byte[] buff = new byte[Msg.Length / 2];
            string Message = "";
            for (int i = 0; i < buff.Length; i++)
            {
                buff[i] = byte.Parse(Msg.Substring(i * 2, 2),
                   System.Globalization.NumberStyles.HexNumber);
            }

            System.Text.Encoding chs = System.Text.Encoding.ASCII;
            Message = chs.GetString(buff);
            return Message;
        }

        /// <summary>
        /// 将十六进制转换成汉字(方法一)
        /// </summary>
        private string ConvertToCharacter(string str)
        {
            int lenth = str.Length;
            for (int i = lenth - 2; i >= 0; i -= 2)
            {
                str = str.Insert(i, "0x");
            }
            int length = str.Length / 4;
            byte[] strByte = new byte[length];
            for (int i = 0; i < length; i++)
            {
                strByte[i] = Convert.ToByte(str.Substring(0, 4), 16);
                str = str.Substring(4);
            }
            return System.Text.Encoding.Default.GetString(strByte);
        }

        /// <summary>
        /// 将十六进制转换成汉字(方法二)
        /// </summary>
        public string HexToStr(string Msg)
        {
            byte[] buff = new byte[Msg.Length / 2];
            string Message = "";
            for (int i = 0; i < buff.Length; i++)
            {
                buff[i] = byte.Parse(Msg.Substring(i * 2, 2),
                   System.Globalization.NumberStyles.HexNumber);
            }

            System.Text.Encoding chs = System.Text.Encoding.GetEncoding("gb2312");
            Message = chs.GetString(buff);
            return Message;
        }

        /// <summary>
        /// 将汉字转换成十六进制
        /// </summary>
        public static string StrToHex(string Msg)
        {
            byte[] bytes = System.Text.Encoding.Default.GetBytes(Msg);
            string str = "";
            for (int i = 0; i < bytes.Length; i++)
            {
                str += string.Format("{0:X}", bytes[i]);
            }
            return str;
        }
0 0
原创粉丝点击