C#生成汉字编码原理介绍及.Net程序处理汉字编码原理分析

来源:岁月联盟 编辑:zhu 时间:2009-08-26

C#语言还是比较常见的东西,这里我们主要介绍C#生成汉字编码原理,包括介绍.Net程序处理汉字编码原理分析。

C#生成汉字编码原理

到底怎么办到随机生成汉字的呢?汉字从哪里来的呢?是不是有个后台数据表,其中存放了所需要的所有汉字,使用程序随机取出几个汉字组合就行了呢?使用后台数据库先将所有汉字存起来使用时随机取出,这也是一种办法,但是中文汉字有这么多,怎么来制作呢?其实可以不使用任何后台数据库,使用程序就能做到这一切。要知道如何生成汉字,就得先了解中文汉字的编码原理。

1980年,为了使每一个汉字有一个全国统一的代码,我国颁布了第一个汉字编码的国家标准: GB2312-80《信息交换用汉字编码字符集》基本集,简称GB2312,这个字符集是我国中文信息处理技术的发展基础,也是国内所有汉字系统的统一标准。到了后来又公布了国家标准GB18030-2000《信息交换用汉字编码字符集基本集的扩充》,简称GB18030,编程时如果涉及到编码和本地化的朋友应该对GB18030很熟悉。这是是我国继GB2312-1980和GB13000-1993之后最重要的汉字编码标准,同时也是未来我国计算机系统必须遵循的基础性标准之一。

.Net程序处理汉字编码原理分析

在.Net中可以使用System.Text来处理所有语言的编码。在System.Text命名空间中包含众多编码的类,可供进行操作及转换。其中的Encoding类就是重点处理汉字编码的类。通过在.NET文档中查询Encoding类的方法我们可以发现所有和文字编码有关的都是字节数组,其中有两个很好用的方法:
◆Encoding.GetBytes ()方法将指定的 String 或字符数组的全部或部分内容编码为字节数组
◆Encoding.GetString ()方法将指定字节数组解码为字符串。

  1. using System;  
  2. using System.Text;  
  3.    
  4. namespace ConsoleApplication  
  5. {  
  6. class ChineseCode  
  7. {  
  8. public static void Main()  
  9. {  
  10. //获取GB2312编码页(表)  
  11. Encoding gb=Encoding.GetEncoding("gb2312");  
  12.    
  13. //调用函数产生4个随机中文汉字编码  
  14. object[] bytes=CreateRegionCode(4);   
  15.    
  16. //根据汉字编码的字节数组解码出中文汉字  
  17. string str1=gb.GetString((byte[])Convert.ChangeType(bytes[0], typeof(byte[])));  
  18. string str2=gb.GetString((byte[])Convert.ChangeType(bytes[1], typeof(byte[])));  
  19. string str3=gb.GetString((byte[])Convert.ChangeType(bytes[2], typeof(byte[])));  
  20. string str4=gb.GetString((byte[])Convert.ChangeType(bytes[3], typeof(byte[])));  
  21.    
  22. //输出的控制台  
  23. Console.WriteLine(str1 + str2 +str3 +str4);  

以上介绍C#生成汉字编码原理