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 

  • 相关阅读:
    编译错误总结。
    9.7
    9.5
    9.6
    9.4
    9.3
    FutureTask取结果超时代码小测试
    java concurrent包常用类小结
    java Nio零散知识点整理
    java进阶教程unit_2java常用类(2)
  • 原文地址:https://www.cnblogs.com/Mysterious/p/4837758.html
Copyright © 2011-2022 走看看