博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c#汉字与编码之间的转换(输出十六进制)
阅读量:6120 次
发布时间:2019-06-21

本文共 2781 字,大约阅读时间需要 9 分钟。

/******************************************************************/        /***********************               ****************************/        /*********************** 汉字转换工具  ****************************/        /***********************               ****************************/        /******************************************************************/        /****************************  字符串转编码函数 **********************************/        private byte[] StringToBytes(string TheString)        {            Encoding encoding = Encoding.GetEncoding("UTF-8");            Encoding encoding2 = Encoding.GetEncoding("gb2312");            byte[] bytes = encoding.GetBytes(TheString);            return Encoding.Convert(encoding, encoding2, bytes);        }        /****************************  编码转字符串函数 **********************************/        private string BytesToString(byte[] Bytes)        {            Encoding encoding = Encoding.GetEncoding("gb2312");            Encoding encoding2 = Encoding.GetEncoding("UTF-8");            byte[] bytes = Encoding.Convert(encoding, encoding2, Bytes);            return encoding2.GetString(bytes);        }        /****************************  单击转换按钮事件 **********************************/        private void Changez_Click(object sender, EventArgs e)        {            if (this.CHcode.Checked)//判断什么类型的转换            {                byte[] array = this.StringToBytes(this.intextz.Text);                this.outtextz.Text = "";                byte[] array2 = array;                for (int i = 0; i < array2.Length; i++)                {                    byte b = array2[i];                    string text = b.ToString("x").ToUpper();                    TextBox expr_64 = this.outtextz;                    expr_64.Text = expr_64.Text + "0x" + ((text.Length == 1) ? ("0" + text) : text) + " ";                }            }            else            {                if (!this.CHcode.Checked)                {                    byte[] array3 = new byte[this.intextz.Text.Length / 2];                    try                    {                        string text2 = this.intextz.Text;                        text2 = text2.Replace("0x", "");                        text2 = text2.Replace(" ", string.Empty);                        for (int j = 0; j < text2.Length / 2; j++)                        {                            array3[j] = Convert.ToByte(text2.Substring(j * 2, 2), 16);                        }                        this.outtextz.Text = this.BytesToString(array3);                    }                    catch                    {                        MessageBox.Show("数据转换错误,请输入数字。", "错误");                    }                }            }        }

 

转载于:https://www.cnblogs.com/mrqiang/p/4348748.html

你可能感兴趣的文章
ABP实战--集成Ladp/AD认证
查看>>
存储过程
查看>>
phpcms v9栏目列表调用每一篇文章内容方法
查看>>
python 自定义信号处理器
查看>>
luov之SMTP报错详解
查看>>
软件概要设计做什么,怎么做
查看>>
dwr
查看>>
java的特殊符号
查看>>
word2010中去掉红色波浪线的方法
查看>>
fabric上下文管理器(context mangers)
查看>>
JQuery-EasyUI Datagrid数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)
查看>>
并发和并行的区别
查看>>
php小知识
查看>>
Windows下安装、运行Lua
查看>>
Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解(二)
查看>>
初识中间件之消息队列
查看>>
MyBatis学习总结(三)——优化MyBatis配置文件中的配置
查看>>
Spring常用注解
查看>>
我的友情链接
查看>>
PCS子层有什么用?
查看>>