肖生克的救赎电影下载:用.NET获取汉字的区位码(c#)_.net技术
来源:百度文库 编辑:九乡新闻网 时间:2024/07/14 05:47:57
首先复习一下计算机基础知识:
计算机中最底层的数据都是用二进制及0和1来表示的。每个0或1称作1位,第8位二进制数叫做1个字节,它可以表示ASCII码中的一个字符。中文计算机中用两个字节即16位二进制来表示一个汉字。而在Unicode编码中所有的符号(包括汉字,英文,标题及其它众多符号)都是为两字节(16)位来表示。
在System.Text命名空间中包含众多编码的类,可供进行操作及转换,下面用两个实例来进行区位码及汉字之间的互换,希望能起到举一反三的效果,让大家可以轻松处理文字编码方面的问题:
using System;
using System.Text;
class CodingChange
{
public string CharacterToCoding(string character)
{
string coding = "";
for (int i = 0; i{
byte[] bytes = System.Text.Encoding.Unicode.GetBytes(character.Substring(i,1)); //取出二进制编码内容
string lowCode = System.Convert.ToString(bytes[0], 16); //取出低字节编码内容(两位16进制)
if (lowCode.Length == 1)
lowCode = "0" + lowCode;
string hightCode = System.Convert.ToString(bytes[1], 16);//取出高字节编码内容(两位16进制)
if (hightCode.Length == 1)
hightCode = "0" + hightCode;
coding += (lowCode + hightCode);//加入到字符串中,
}
return coding;
}
public string CodingToCharacter(string coding)
{
string characters = "";
if (coding.Length % 4 != 0)//编码为16进制,必须为4的倍数。
{
throw new System.Exception("编码格式不正确");
}
for (int i = 0; i{
byte[] bytes = new byte[2];
string lowCode = coding.Substring(i, 2); //取出低字节,并以16进制进制转换
bytes[0] = System.Convert.ToByte(lowCode, 16);
string highCode = coding.Substring(i + 2, 2); //取出高字节,并以16进制进行转换
bytes[1] = System.Convert.ToByte(highCode, 16);
string character = System.Text.Encoding.Unicode.GetString(bytes);
characters += character;
}
return characters;
}
public static void Main()
{
CodingChange code = new CodingChange();
string coding = code.CharacterToCoding("我们的大中国,是好在的一个家.");
Console.WriteLine(coding);
Console.WriteLine(code.CodingToCharacter(coding));
}
};
最后输出的结果是:
C:\>test
1162ec4e847627592d4efd560cff2f667d5928578476004e2a4eb65b2e00
我们的大中国,是好在的一个家.
C:\>
计算机中最底层的数据都是用二进制及0和1来表示的。每个0或1称作1位,第8位二进制数叫做1个字节,它可以表示ASCII码中的一个字符。中文计算机中用两个字节即16位二进制来表示一个汉字。而在Unicode编码中所有的符号(包括汉字,英文,标题及其它众多符号)都是为两字节(16)位来表示。
在System.Text命名空间中包含众多编码的类,可供进行操作及转换,下面用两个实例来进行区位码及汉字之间的互换,希望能起到举一反三的效果,让大家可以轻松处理文字编码方面的问题:
using System;
using System.Text;
class CodingChange
{
public string CharacterToCoding(string character)
{
string coding = "";
for (int i = 0; i
byte[] bytes = System.Text.Encoding.Unicode.GetBytes(character.Substring(i,1)); //取出二进制编码内容
string lowCode = System.Convert.ToString(bytes[0], 16); //取出低字节编码内容(两位16进制)
if (lowCode.Length == 1)
lowCode = "0" + lowCode;
string hightCode = System.Convert.ToString(bytes[1], 16);//取出高字节编码内容(两位16进制)
if (hightCode.Length == 1)
hightCode = "0" + hightCode;
coding += (lowCode + hightCode);//加入到字符串中,
}
return coding;
}
public string CodingToCharacter(string coding)
{
string characters = "";
if (coding.Length % 4 != 0)//编码为16进制,必须为4的倍数。
{
throw new System.Exception("编码格式不正确");
}
for (int i = 0; i
byte[] bytes = new byte[2];
string lowCode = coding.Substring(i, 2); //取出低字节,并以16进制进制转换
bytes[0] = System.Convert.ToByte(lowCode, 16);
string highCode = coding.Substring(i + 2, 2); //取出高字节,并以16进制进行转换
bytes[1] = System.Convert.ToByte(highCode, 16);
string character = System.Text.Encoding.Unicode.GetString(bytes);
characters += character;
}
return characters;
}
public static void Main()
{
CodingChange code = new CodingChange();
string coding = code.CharacterToCoding("我们的大中国,是好在的一个家.");
Console.WriteLine(coding);
Console.WriteLine(code.CodingToCharacter(coding));
}
};
最后输出的结果是:
C:\>test
1162ec4e847627592d4efd560cff2f667d5928578476004e2a4eb65b2e00
我们的大中国,是好在的一个家.
C:\>
用.NET获取汉字的区位码(c#)_.net技术
Jquery中获取iframe的方法_ASp.net,编程联盟
.NET中获取服务器端控件的ID进行客户端编程
收藏.NET 技术社区
用回溯法找出n个自然数中取r个数的全排列_Asp.net教程_.Net教程_Vb.net教...
对C#.NET编程规范的个人见解
C#.net中类与结构的区别
一起谈.NET技术,ASP.NET伪静态的实现及伪静态的意义
javascript和ActiveX的交互问题 .NET技术 / ASP.NET - CS...
.Net课堂:总结必须学习的10项.NET技术[转]
.NET (C#) Internals: ASP.NET 应用程序与页面生命周期
车灯真空镀膜UV漆的技术要求-bokee.net
asp.net页面缓存技术 - 清清月儿 .NET万花筒 Asp.net技术 Asp.ne...
windows 控件限制用户的基本法门(c#.net 篇) - 漫步资源站 http://www.manbu.net
ADO.Net都有哪些从数据库获取数据的方式
C#/.net分布式缓存系统Memcached实例
如何在域控制器上安装asp.net? - 清清月儿 .NET万花筒 Asp.net技术 A...
教宝宝认识汉字的绝招--中国儿童教育网 www.cnfirst.net www.etjy....
汉字区位码查询与算法 - supersi的专栏 - CSDN博客
在.Net中使用msxsl:script脚本块扩展XSLT的具体实践与应用_.NET Es...
精通ASP.NET中弹出窗口技术
测试用例与输入数据的设计方法 - TEST8848软件测试技术门户网 软件测试时代Testage.net
ASP.NET(C#)页面间传值的常见方法 - acefly的专栏 - CSDNBlog
ASP.net:DataTable中数据记录的统计-NET编程