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 ()方法将指定字节数组解码为字符串。
- using System;
- using System.Text;
- namespace ConsoleApplication
- {
- class ChineseCode
- {
- public static void Main()
- {
- //获取GB2312编码页(表)
- Encoding gb=Encoding.GetEncoding("gb2312");
- //调用函数产生4个随机中文汉字编码
- object[] bytes=CreateRegionCode(4);
- //根据汉字编码的字节数组解码出中文汉字
- string str1=gb.GetString((byte[])Convert.ChangeType(bytes[0], typeof(byte[])));
- string str2=gb.GetString((byte[])Convert.ChangeType(bytes[1], typeof(byte[])));
- string str3=gb.GetString((byte[])Convert.ChangeType(bytes[2], typeof(byte[])));
- string str4=gb.GetString((byte[])Convert.ChangeType(bytes[3], typeof(byte[])));
- //输出的控制台
- Console.WriteLine(str1 + str2 +str3 +str4);
- }
以上介绍C#生成汉字编码原理
【编辑推荐】