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 

  • 相关阅读:
    集合的概述
    mysql修改用户名密码
    CentOS7 安装Chrome的方法
    常用sql汇总
    Rabbitmq六大应用模式
    高可用RabbitMQ集群搭建
    docker-compose
    Haystack
    幂等性问题剖析
    用redis构建分布式锁
  • 原文地址:https://www.cnblogs.com/Mysterious/p/4837758.html
Copyright © 2011-2022 走看看