一、背景知识

GB 2312-80 是中国国家标准简体中文字符集,全称《信息交换用汉字编码字符集·基本集》,由中国国家标准总局发布,1981年5月1日实施。GB2312 编码通行于中国大陆;新加坡等地也采用此编码。中国大陆几乎所有的中文系统和国际化的软件都支持 GB 2312。

GB2312 标准共收录 6763 个汉字,其中一级汉字 3755 个,二级汉字 3008 个;同时收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的 682 个字符。GB2312 的出现,基本满足了汉字的计算机处理需要,它所收录的汉字已经覆盖中国大陆 99.75% 的使用频率。对于人名、古汉语等方面出现的罕用字,GB2312 不能处理,这导致了后来 GBK 及 GB18030 汉字字符集的出现。

GB2312 中对所收汉字进行了“分区”处理,每区含有 94 个汉字/符号。这种表示方式也称为区位码。

01 - 09 区为特殊符号。

16 - 55 区为一级汉字,按拼音排序。

56 - 87 区为二级汉字,按部首/笔画排序。

10 - 15 区及 88 - 94 区则未有编码。举例来说,“啊”字是 GB2312 之中的第一个汉字,它的区位码就是 1601。

每个汉字及符号以两个字节来表示。第一个字节称为“高位字节”,第二个字节称为“低位字节”。“高位字节”使用了 0xA1 - 0xF7(把 01 - 87 区的区号加上 0xA0),“低位字节”使用了 0xA1 - 0xFE(把 01 - 94 位的位号加上 0xA0)。 由于一级汉字从 16 区起始,汉字区的“高位字节”的范围是 0xB0 - 0xF7,“低位字节”的范围是 0xA1 - 0xFE,占用的码位是 72 * 94 = 6768。其中有 5 个空位是 D7FA - D7FE。例如“啊”字在大多数程序中,会以两个字节,0xB0(第一个字节)0xA1(第二个字节)储存。(与区位码对比:0xB0 = 0xA0 + 16, 0xA1 = 0xA0 + 1)。

国家标准 GB 18030-2005《信息技术 中文编码字符集》,是中华人民共和国现时最新的内码字集,与 GB 2312-1980 完全兼容,与 GBK 基本兼容,支持 GB 13000 及 Unicode 的全部统一汉字,共收录汉字 70244 个。现行版本为国家质量监督检验总局和中国国家标准化管理委员会于2005年11月8日发布,2006年5月1日实施,为在中国境内所有软件产品支持的强制标准。

二、随机生成常用汉字的 C# 程序

新建Java项目,创建代码片段:

import java.io.UnsupportedEncodingException;

import java.util.Random;

/**

* 随机生成常见的汉字

*

* @author xuliugen

*

*/

public class GeneCharTest {

public static void main(String[] args) {

for (int i = 1; i < 24; i++) {

System.out.print(getRandomChar() + " ");

}

}

private static char getRandomChar() {

String str = "";

int hightPos; //

int lowPos;

Random random = new Random();

hightPos = (176 + Math.abs(random.nextInt(39)));

lowPos = (161 + Math.abs(random.nextInt(93)));

byte[] b = new byte[2];

b[0] = (Integer.valueOf(hightPos)).byteValue();

b[1] = (Integer.valueOf(lowPos)).byteValue();

try {

str = new String(b, "GBK");

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

System.out.println("错误");

}

return str.charAt(0);

}

}

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

java 随机生成常用汉字_Java代码实现随机生成汉字的方法相关推荐

  1. java 随机生成简体汉字_Java代码实现随机生成汉字的方法|chu

    一.背景知识 GB 2312-80 是中国国家标准简体中文字符集,全称<信息交换用汉字编码字符集・基本集>,由中国国家标准总局发布,1981年5月1日实施.GB2312 编码通行于中国大陆 ...

  2. java 中组合与复用_Java 代码复用(组合与继承)

    java中的类都是围绕着类进行的.可以通过创建新类来复用代码,而不必从头编写.可以使用别人已经开发并调试好的类.此方法使用的窍门在于使用类而不破坏现有的程序代码.达到这一目的的方法有两种: 第一种方法 ...

  3. java随机生成中文昵称_Java 中文姓名随机生成

    项目要求产生一些模拟的中文姓名,我的想法是先产生姓氏,再随机产生名字,可以是两个字的也可以是三个字的.使用的是 GB2312实现的中文字,可自行百度"信息交换用汉字编码字符集"了解 ...

  4. java字符串确定汉字_java中判断字符串中汉字的个数

    使用方法3与方法4时需要注意一些问题,代码中会有注释. 代码如下: package 包名; import java.util.ArrayList; import java.util.regex.Mat ...

  5. java 字符串转pdf文件_java中根据模板生成pdf文件

    原标题:java中根据模板生成pdf文件 阅读目录 简介 业务需求 引入jar包 pdf模板文件与方法参数 代码部分 总结归纳 回到顶部 简介 本文使用java引入apach提供的pdf操作工具生成p ...

  6. 随机森林分类算法python代码_随机森林的原理及Python代码实现

    原标题:随机森林的原理及Python代码实现 最近在做kaggle的时候,发现随机森林这个算法在分类问题上效果十分的好,大多数情况下效果远要比svm,log回归,knn等算法效果好.因此想琢磨琢磨这个 ...

  7. java数组随机抽取分布均匀_java利用数组随机抽取幸运观众

    本文实例为大家分享了java利用数组随机抽取幸运观众的具体代码,供大家参考,具体内容如下 思想: 首先将所有观众姓名生成数组,然后获取数组元素的总数量,再在数组元素中随机抽取元素的下标,根据元素的下标 ...

  8. java类怎么删除对象_java中对象的生成使用和删除

    请教大神,在java里,对象生成后,如何删除对象呢?请教大神,在java里,对象生成后,如何删除对象呢? 对象状态由JVM自动管理,GC线程自动回收无用对象,无需也不能自己删除对象. 请问在JAVA中 ...

  9. java利用数组随机抽取幸运观众_java利用数组随机抽取幸运观众

    本文实例为大家分享了java利用数组随机抽取幸运观众的具体代码,供大家参考,具体内容如下 思想: 首先将所有观众姓名生成数组,然后获取数组元素的总数量,再在数组元素中随机抽取元素的下标,根据元素的下标 ...

  10. java下载文件到服务器_java代码实现上传文件到文档服务器、下载文档服务器文件...

    需要完成下载->修改->上传这三个步骤 平台有提供对应的api吗? /** 首先我们来理解下关于文档的api 文档相关api都在这2个package下面 package :com.just ...

最新文章

  1. 2.3.4 信号量机制
  2. 基于Delphi API写的UDP通讯类
  3. java自定义jsp标签_深入浅出javaWeb实战第17讲自定义JSP标签(上)
  4. netty系列之:一个价值上亿的网站速度优化方案
  5. win10创建c语言文件,c – 如何在Windows中创建扩展(自定义)文件属性?
  6. 自定义异常和经验小结
  7. android缓存的后台进程,Android应用程序进程生命周期详解
  8. 彩虹代刷网用php几,php彩虹代刷网八套模板源码+教程
  9. 不加群提取群成员_快速提取PPT上的文字!
  10. springboot建筑造价师资格考试应试网站设计与实现毕业设计源码260839
  11. 微云存储空间多大_qq微云内存多大
  12. 力扣刷题 DAY_81 贪心
  13. Android原生图表库调研
  14. 范数(norm) 几种范数的简单介绍
  15. Unreal Open Day 2017 参会总结——ACT(动作)游戏制作经验分享
  16. Arduino提高篇02—OLED屏汉字显示
  17. Django——在线教育项目总结
  18. codeforces(E. Carrots for Rabbits)贪心
  19. 人工智能步入金融领域的主流玩法
  20. 项目管理软件Microsoft Project 2019和 Visio 2019下载

热门文章

  1. word电子签名在线制作
  2. 无线路由器显示无服务器,路由器没信号怎么办?三招教你解决问题!
  3. SQLServer锁表
  4. Excel查找一列中的相同值,删除该行或替换为空值
  5. Excel:一步搞定平均分 妙用TRIMMEAN函数(转)
  6. 郭霖的LitePal版本历程
  7. Win10 清空回收站选项点不了怎么解决?
  8. 读《最重要的事只有一件》有感
  9. 微信小程序+Node服务器
  10. 常见安全漏洞及其解决方案