C# 汉字编码GB2312转换
功能界面
源码:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace wordsConvert { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private byte[] StringToBytes(string TheString) { Encoding FromEcoding = Encoding.GetEncoding("UTF-8"); Encoding ToEcoding = Encoding.GetEncoding("GB2312"); byte[] FromBytes = FromEcoding.GetBytes(TheString); byte[] ToBytes = Encoding.Convert(FromEcoding, ToEcoding, FromBytes); return ToBytes; } private string BytesToString(byte[] Bytes) { string Mystring; Encoding FromEcoding = Encoding.GetEncoding("GB2312"); Encoding ToEcoding = Encoding.GetEncoding("UTF-8"); byte[] ToBytes = Encoding.Convert(FromEcoding, ToEcoding, Bytes); Mystring = ToEcoding.GetString(ToBytes); return Mystring; } private void button1_Click(object sender, EventArgs e) { byte[] StringToByte = StringToBytes(textBox1.Text); textBox2.Text = ""; foreach (byte MyByte in StringToByte) { string Str = MyByte.ToString("x").ToUpper(); textBox2.Text += (Str.Length == 1 ? "0" + Str : Str) + " "; } } private void button2_Click(object sender, EventArgs e) { byte[] data = new byte[textBox3.Text.Length / 2]; int i; try { string buffer = textBox3.Text; buffer = buffer.Replace("0x", string.Empty); buffer = buffer.Replace(" ", string.Empty); for( i = 0; i < buffer.Length/2; i++) { data[i] = Convert.ToByte(buffer.Substring(i * 2, 2), 16); } textBox4.Text = BytesToString(data); } catch { MessageBox.Show("数据转换错误,请输入十六进制数据", "错误"); } } } }
C4 E3 BA C3
文章对您有帮助,开心可以打赏我,金额随意,欢迎来赏!
需要电子方面开发板/传感器/模块等硬件可以到我的淘宝店逛逛