用.NET获取汉字的区位码(C#)的方法

王朝c#·作者佚名  2008-05-19
宽屏版  字体: |||超大  

计算机中最底层的数据都是用二进制及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<character.Length; 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 = "";

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有