zoukankan      html  css  js  c++  java
  • 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 

  • 相关阅读:
    在C#程序中模拟发送键盘按键消息
    C# UDPCLIENT多线程实例
    【转】WINFORM下FTP客户端的实现
    抓取屏幕或窗体并保存成图片
    c# 判断窗体已打开则显示为焦点
    【转】C#中dataGridView用法实例分析
    【转】VC6控件小记
    .Net部署二三事之一——如何为VS安装文件MSI制作更新补丁MSP
    [转]C#串口serialPort操作
    VS向IIS发布C#或VB应用程序
  • 原文地址:https://www.cnblogs.com/Mysterious/p/4837758.html
Copyright © 2011-2022 走看看