c#编码转换
来源:互联网 发布:微信群二维码采集软件 编辑:程序博客网 时间:2024/06/05 18:41
/// <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(); for (int i = 0; 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", ""); if (cd2.Length % 4 != 0) { MessageBox.Show("Unicode编码为双字节,请删多或补少!确保是二的倍数。"); } else { int len = cd2.Length / 2; byte[] b = new byte[len]; for (int i = 0; i < cd2.Length;i+=2 ) { string bi = cd2.Substring(i, 2); b[i/2] =(byte) Convert.ToInt32(bi, 16); } 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(' '); byte[] bs=new byte[2]; bs[0] = (byte)Convert.ToByte(b4[0], 16); bs[1] = (byte)Convert.ToByte(b4[1], 16); 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(' '); byte[] bs = new byte[2]; bs[0] = (byte)Convert.ToByte(b5[0], 16); bs[1] = (byte)Convert.ToByte(b5[1], 16); 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(' '); byte[] bs = new byte[3]; bs[0] = (byte)Convert.ToByte(b6[0], 16); bs[1] = (byte)Convert.ToByte(b6[1], 16); bs[2] = (byte)Convert.ToByte(b6[2], 16); textBox3.Text = Encoding.GetEncoding("UTF-8").GetString(bs); }
0 0
- C#编码转换
- C# Base64编码转换
- c#编码转换工具
- C# Unicode 编码转换
- C# 编码转换 utf8
- c#编码转换
- C# 编码转换
- C#中的String编码转换
- 编码转换 C#中ChrW
- C#批量转换unicode编码
- C# 中的编码转换实现
- C# 基础知识:字符编码、编码转换
- C# 基础知识:字符编码、编码转换
- C# JSON转换以及编码转换
- C# JSON转换以及编码转换
- C# 转换 ISO-8859-1 编码
- c#开发中的编码转换问题
- C#中的字符串及其编码转换
- Sqlite创建增删改查
- Androidstudio安装AVD出现no system images installed for this target解决方案
- C#嵌入dll到资源释放的问题
- c#JS调用
- 【抓包工具】wireshark
- c#编码转换
- CodeForces - 519D A and B and Interesting Substrings (前缀和)
- Sniffer的完整代码,基于winpcap抓包统计吞吐量
- windows下使用C#获取特定进程网络流量
- SharpPcap网络包捕获框架的使用--实例代码在vs2005调试通过
- 使用SharpPCap在C#下进行网络抓包
- c#datagridview
- C#中两个Form窗口之间的传值(父->子)(子->父)
- 一个c#的输入框函数