c#编码转换

       /// <summary>
        /// URL编码
        /// </summary>
        /// <param name="Source"></param>
        /// <param name="Encod">是否UTF8</param>
        /// <param name="toUpper">默认到大写</param>
        /// <returns></returns>
        public static string URLEncod(string Source, Encoding Encod, bool toUpper = true)
        {
            if (toUpper)
            {
                StringBuilder sb = new StringBuilder();
                ; i < Source.Length; i++)
                {
                    string t = Source[i].ToString();
                    string k = HttpUtility.UrlEncode(t, Encod);
                    if (t == k) sb.Append(t);
                    else sb.Append(k.ToUpper());
                }
                return sb.ToString();
            }
            else
                return HttpUtility.UrlEncode(Source, Encod);

        }
        /// <summary>
        /// URL解码
        /// </summary>
        /// <param name="Source"></param>
        /// <param name="Encod">是否UTF8</param>
        /// <returns></returns>
        public static string URLDecode(string Source, Encoding Encod)
        {

            return HttpUtility.UrlDecode(Source, Encod);
        }
private void button1_Click(object sender, EventArgs e)
        {
            //汉字转为Unicode编码:
            string hz = textBox1.Text.ToString();
            byte[] b=Encoding.Unicode.GetBytes(hz);
            string o = "";
            foreach(var x in b){
                o += string.Format("{0:X2}",x) + " ";
            }
            textBox2.Text = o;
        }

private void button2_Click(object sender, EventArgs e)
        {
             //Unicode编码转为汉字:
            string cd = textBox2.Text.ToString();
            string cd2 = cd.Replace(" ", "");
                   cd2 = cd2.Replace("\r", "");
                   cd2 = cd2.Replace("\n", "");
                   cd2 = cd2.Replace("\r\n", "");
                   cd2 = cd2.Replace("\t", "");
             != )
            {
                MessageBox.Show("Unicode编码为双字节,请删多或补少!确保是二的倍数。");
            }
            else
            {
                ;
                byte[] b = new byte[len];
                ; i < cd2.Length;i+= )
                {
                    );
                    b[i/] =();
                }
                string o=Encoding.Unicode.GetString(b);
                textBox1.Text = o;
            }
        }

        private void button5_Click(object sender, EventArgs e)
        {
            //汉字转成GBK十六进制码:
            string hz = textBox3.Text.ToString();
byte[] gbk = Encoding.GetEncoding("GBK").GetBytes(hz);
            string s1 = ""; string s1d = "";
            foreach(byte b in gbk){
                //s1 += Convert.ToString(b, 16)+" ";
                s1 += string.Format("{0:X2}", b) + " ";
                s1d += b + " ";
                toolTip1.SetToolTip(textBox4, s1d);
            }
            textBox4.Text = s1;
            toolTip1.SetToolTip(textBox4, s1d);
            //汉字转成Unicode十六进制码:
            byte[] uc = Encoding.Unicode.GetBytes(hz);
            string s2 = ""; string s2d = "";
            foreach (byte b in uc)
            {
                //s2 += Convert.ToString(b, 16) + " ";
                s2 += string.Format("{0:X2}", b) + " ";
                s2d += b + " ";
                toolTip1.SetToolTip(textBox5, s2d);
            }
            textBox5.Text = s2;
            toolTip1.SetToolTip(textBox5, s2d);
            //汉字转成UTF-8十六进制码:
            byte[] utf8 = Encoding.UTF8.GetBytes(hz);
            string s3 = ""; string s3d = "";
            foreach (byte b in utf8)
            {
                //s3 += Convert.ToString(b, 16) + " ";
                s3 += string.Format("{0:X2}", b) + " ";
                s3d += b + " ";
                toolTip1.SetToolTip(textBox6, s3d);
            }
            textBox6.Text = s3;
            toolTip1.SetToolTip(textBox6, s3d);
        }

        private void button6_Click(object sender, EventArgs e)
        {   //GBK十六进制码转成汉字:
            string cd = textBox4.Text.ToString();
            string[] b4 = cd.Split(' ');
            ];
            bs[] = (], );
            bs[] = (], );
            textBox3.Text =Encoding.GetEncoding("GBK").GetString(bs);
        }

        private void button7_Click(object sender, EventArgs e)
        {   //Unicode十六进制码转成汉字:
            string cd = textBox5.Text.ToString();
            string[] b5 = cd.Split(' ');
            ];
            bs[] = (], );
            bs[] = (], );
            textBox3.Text = Encoding.GetEncoding("Unicode").GetString(bs);
        }

        private void button8_Click(object sender, EventArgs e)
        {   //UTF-8十六进制码转成汉字:
            string cd = textBox6.Text.ToString();
            string[] b6 = cd.Split(' ');
            ];
            bs[] = (], );
            bs[] = (], );
            bs[] = (], );
            textBox3.Text = Encoding.GetEncoding("UTF-8").GetString(bs);
        }
上一篇:【JAVA】Socket 编程


下一篇:ubuntu为文件添加可执行权限