• 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 

  • 相关阅读:
    curl获取HTTP返回状态码
    存储过程中如何实现从数组获取数据
    ElasticsearchParseException: malformed, expected settings to start with 'object', instead was [VALUE_STRING]
    【并发编程】如果让你用三个线程循环打印ABC,你有几种写法?
    【基础】IdentityHashMap
    【基础】ThreadPoolExecutor
    【算法】快速排序
    【Java8新特性Stream】list转map
    【算法】华为南研所-括号匹配
    windows sourceTree 密码错误
  • 原文地址:https://www.cnblogs.com/Mysterious/p/4837758.html
Copyright © 2020-2023  润新知