您的位置:首页 > 编程语言 > C#

C# 汉字编码GB2312转换

2015-09-25 11:52 477 查看

功能界面



源码:

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: