C# unicode GBK UTF-8和汉字互转
界面:

源码:
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和汉字互转的更多相关文章
- UTF-8,Unicode,GBK,希腊字母读法,ASCII码表,HTTP错误码,URL编码表,HTML特殊字符,汉字编码简明对照表
UNICODE,GBK,UTF-8区别 UNICODE,GBK,UTF-8区别 简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那 ...
- 字符编码-UNICODE,GBK,UTF-8区别【转转】
字符编码介绍及不同编码区别 今天看到这篇关于字符编码的文章,抑制不住喜悦(总结的好详细)所以转到这里来.转自:祥龙之子http://www.cnblogs.com/cy163/archive/2007 ...
- 【JAVA编码专题】JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础
这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...
- Unicode、UTF-8 和 ISO8859-1到底有什么区别
说明:本文转载于新浪博客,旨在方便知识总结.原文地址:http://blog.sina.com.cn/s/blog_673c81990100t1lc.html 本文主要包括以下几个方面:编码基本知识, ...
- unicode,gbk,utfF-8字符编码方式的区别
一.编码历史与区别 一直对字符的各种编码方式懵懵懂懂,什么ANSI UNICODE UTF-8 GB2312 GBK DBCS UCS……是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们. ...
- Unicode,GBK,GB2312,UTF-8概念基础(转载)
第一篇:JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础本部分采用重用,转载一篇文章来完成这部分的目标.来源:holen'blog 对字符编码与Unicode,IS ...
- Unicode、UTF-8 和 ISO8859-1
Unicode.UTF-8 和 ISO8859-1到底有什么区别 1.本文主要包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等. 在下面的描述中,将以"中文" ...
- JAVA字符编码一:Unicode,GBK,GB2312,UTF-8概念基础
第一篇:JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础 来源:holen'blog 对字符编码与Unicode,ISO 10646,UCS,UTF8,UTF16, ...
- FATFS外置UNICODE GBK双向转换码表(转)
源:FATFS外置UNICODE GBK双向转换码表 将UtoG,GtoU双向码表放到存储卡里面实现长文件名,因为FATFS长文件名需要unicode支持, 首先将UtoG.sys,GtoU.sys两 ...
- unicode gbk utf-8的差异
GB2312(1980年)定义,包含6763个汉字,682个字符 GBK1.0 定义了21003个汉字,21886个字符 ASCII->GB2312->GBK 编码方式向后兼容,即同一个字 ...
随机推荐
- springboot缓存及连接池配置
参见https://coding.imooc.com/lesson/117.html#mid=6412 1.springboot的springweb自己默认以及配置好了缓存,只需要在主文件(XxxAp ...
- react-native 组件默认属性(defaultProps) 及 属性类型验证(PropTypes)
1.所有的属性类型 2.代码 import PropTypes from 'prop-types'; type Props = {}; export default class App extends ...
- myeclipse svn安装
安装subclipse, SVN 插件 1.从官网下载site-1.6.9.zip文件,网址是:subclipse.tigris.org, 2.从中解压出features与plugins文件夹,复制到 ...
- jdk1.6 升级到 jdk1.7
将 jdk1.6 升级到 jdk1.7 下载jdk-7u11-linux-x64.tar.gz tar zxvf jdk-7u11-linux-x64.tar.gz mkdir /usr/l ...
- DevOps开源工具的三种分类整理
原文地址:http://www.360doc.com/content/16/0322/07/31263000_544210096.shtml 随着开发运维一体化的DevOps运动在国内外蓬勃发展,De ...
- struct和class的不同以及struct的应用场景
struct在C#中被用来定义结构,它是一种比类小的数据类型.和类一样都是创建对象的模板,可以有自己的数据以及处理和访问数据的方法. struct的用法: struct FurnitureSize { ...
- Newtonsoft.Json之JArray, JObject, JProperty,JValue
JObject staff = new JObject(); staff.Add(new JProperty("Name", "Jack")); staff.A ...
- Atitit.rust语言特性 attilax 总结
Atitit.rust语言特性 attilax 总结 1. 创建这个新语言的目的是为了解决一个顽疾:软件的演进速度大大低于硬件的演进,软件在语言级别上无法真正利用多核计算带来的性能提升.1 2. 不会 ...
- IntelliJ IDEA(2017)下载并破解
idea激活,JetBrain旗下软件激活 我在修改这个博主的文章再添加了code码 http://blog.csdn.net/qq_24504453/article/details/77407329 ...
- org.mockito.exceptions.misusing.MissingMethodInvocationException: when() requires an argument which has to be 'a method call on a mock'
异常原因: 1.mockito的jar包中缺少方法 2.mock方法的时候,返回的是对象,而对象没有重写equals方法 3.mock的实例方法调用方法错误 解决方法: 1.用powermock中的a ...