界面:

源码:

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 SomeConvert
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{ } private void button1_Click(object sender, EventArgs e)
{
//汉字转为Unicode编码:
string hz = textBox1.Text.ToString();
byte[] b = Encoding.Unicode.GetBytes(hz);
string o = "";
foreach (var x in b)
{
o += string.Format("{0:X2}", x) + " ";
}
textBox2.Text = o;
} private void button2_Click(object sender, EventArgs e)
{
//Unicode编码转为汉字:
string cd = textBox3.Text.ToString();
string cd2 = cd.Replace(" ", "");
cd2 = cd2.Replace("\r", "");
cd2 = cd2.Replace("\n", "");
cd2 = cd2.Replace("\r\n", "");
cd2 = cd2.Replace("\t", "");
if (cd2.Length % != )
{
MessageBox.Show("Unicode编码为双字节,请删多或补少!确保是二的倍数。");
}
else
{
int len = cd2.Length / ;
byte[] b = new byte[len];
for (int i = ; i < cd2.Length; i += )
{
string bi = cd2.Substring(i, );
b[i / ] = (byte)Convert.ToInt32(bi, );
}
string o = Encoding.Unicode.GetString(b);
textBox4.Text = o;
}
} private void button3_Click(object sender, EventArgs e)
{
//汉字转成GBK十六进制码:
string hz = textBox5.Text.ToString();
byte[] gbk = Encoding.GetEncoding("GBK").GetBytes(hz);
string s1 = ""; string s1d = "";
foreach (byte b in gbk)
{
//s1 += Convert.ToString(b, 16)+" ";
s1 += string.Format("{0:X2}", b) + " ";
s1d += b + " ";
}
textBox6.Text = s1; } private void button4_Click(object sender, EventArgs e)
{
//GBK十六进制码转成汉字:
string cd = textBox7.Text.ToString();
string[] b4 = cd.Split(' ');
byte[] bs = new byte[];
bs[] = (byte)Convert.ToByte(b4[], );
bs[] = (byte)Convert.ToByte(b4[], );
textBox8.Text = Encoding.GetEncoding("GBK").GetString(bs);
} private void button5_Click(object sender, EventArgs e)
{
string hz = textBox9.Text.ToString();
//汉字转成UTF-8十六进制码:
byte[] utf8 = Encoding.UTF8.GetBytes(hz);
string s3 = ""; string s3d = "";
foreach (byte b in utf8)
{
//s3 += Convert.ToString(b, 16) + " ";
s3 += string.Format("{0:X2}", b) + " ";
s3d += b + " ";
}
textBox10.Text = s3;
} private void button6_Click(object sender, EventArgs e)
{
//UTF-8十六进制码转成汉字:
string cd = textBox11.Text.ToString();
string[] b6 = cd.Split(' ');
byte[] bs = new byte[];
bs[] = (byte)Convert.ToByte(b6[], );
bs[] = (byte)Convert.ToByte(b6[], );
bs[] = (byte)Convert.ToByte(b6[], );
textBox12.Text = Encoding.GetEncoding("UTF-8").GetString(bs);
} }
}

C# unicode GBK UTF-8和汉字互转的更多相关文章

  1. UTF-8,Unicode,GBK,希腊字母读法,ASCII码表,HTTP错误码,URL编码表,HTML特殊字符,汉字编码简明对照表

    UNICODE,GBK,UTF-8区别 UNICODE,GBK,UTF-8区别    简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那 ...

  2. 字符编码-UNICODE,GBK,UTF-8区别【转转】

    字符编码介绍及不同编码区别 今天看到这篇关于字符编码的文章,抑制不住喜悦(总结的好详细)所以转到这里来.转自:祥龙之子http://www.cnblogs.com/cy163/archive/2007 ...

  3. 【JAVA编码专题】JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础

    这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...

  4. Unicode、UTF-8 和 ISO8859-1到底有什么区别

    说明:本文转载于新浪博客,旨在方便知识总结.原文地址:http://blog.sina.com.cn/s/blog_673c81990100t1lc.html 本文主要包括以下几个方面:编码基本知识, ...

  5. unicode,gbk,utfF-8字符编码方式的区别

    一.编码历史与区别 一直对字符的各种编码方式懵懵懂懂,什么ANSI UNICODE UTF-8 GB2312 GBK DBCS UCS……是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们. ...

  6. Unicode,GBK,GB2312,UTF-8概念基础(转载)

    第一篇:JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础本部分采用重用,转载一篇文章来完成这部分的目标.来源:holen'blog   对字符编码与Unicode,IS ...

  7. Unicode、UTF-8 和 ISO8859-1

    Unicode.UTF-8 和 ISO8859-1到底有什么区别 1.本文主要包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等. 在下面的描述中,将以"中文" ...

  8. JAVA字符编码一:Unicode,GBK,GB2312,UTF-8概念基础

    第一篇:JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础 来源:holen'blog   对字符编码与Unicode,ISO 10646,UCS,UTF8,UTF16, ...

  9. FATFS外置UNICODE GBK双向转换码表(转)

    源:FATFS外置UNICODE GBK双向转换码表 将UtoG,GtoU双向码表放到存储卡里面实现长文件名,因为FATFS长文件名需要unicode支持, 首先将UtoG.sys,GtoU.sys两 ...

  10. unicode gbk utf-8的差异

    GB2312(1980年)定义,包含6763个汉字,682个字符 GBK1.0 定义了21003个汉字,21886个字符 ASCII->GB2312->GBK 编码方式向后兼容,即同一个字 ...

随机推荐

  1. 【JQuery Easy UI】后台管理系统的简单布局分享

    重要说明:本博已迁移到 石佳劼的博客.有疑问请到 文章新地址 留言..! 近期做的一个简单的后台管理系统,当中用到了JQuery Easy UI框架,对于撸主这样的把控件能摆整齐就谢天谢地的码农来说, ...

  2. A股市场底部顶部历史数据

    1. A股市场平均市盈率 大顶沪市平均市盈率:66-70倍. A股市场2次大底沪市平均市盈率:12倍-15倍. 大底时的例子. 2005年6月6日上证指数1000点时的14倍市盈率.2008年10月2 ...

  3. 基于Ranking-CNN的年龄识别(CVPR_2017)

    作为学习记录,将所做PPT摘录如下:

  4. linux flush memcache缓存

    telnet localhost 11211 flush_all  memcached Telnet Interface Command Description Example get Reads a ...

  5. CocoaPods报错:The dependency `` is not used in any concrete target

    内容提要: podfile升级之后到最新版本,pod里的内容必须明确指出所用第三方库的target,否则会出现The dependency `` is not used in any concrete ...

  6. es6 初始化样式加载到head中

    Demo1:function loadCss(css) { css.forEach((path)=>{ console.log($('<link/>', { rel: 'styles ...

  7. synchronized是什么

        在再有人问你Java内存模型是什么,就把这篇文章发给他中我们曾经介绍过,Java语言为了解决并发编程中存在的原子性.可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如synchron ...

  8. 利用socket.io实现消息实时推送

    最近在写的项目中存在着社交模块,需要实现这样的一个功能:当发生了用户被点赞.评论.关注等操作时,需要由服务器向用户实时地推送一条消息.最终完成的项目地址为:socket-message-push,这里 ...

  9. java并发阻塞队列

    Java 并发编程利用 Condition 来实现阻塞队列 You are here:  开发&语言 - Java 文章 发布于 2017年06月26日  阅读 944 并发编程   什么是阻 ...

  10. win10中如何成功安装lxml

    lxml官网地址:http://lxml.de/index.html 问题: 在学习lxm的时候,发现在win10下总是安装失败,如下: 在网上搜索了半天也没找到具体的解决方案,就FQgoogle下, ...