随机汉字
来源:互联网 发布:超级优化 编辑:程序博客网 时间:2024/06/05 02:53
public static String getChineseCharacter(long seed) throws Exception { String str = null; int highPos, lowPos; Random random = new Random(seed); highPos = 176 + random.nextInt(39); lowPos = 161 + random.nextInt(93); byte[] b = new byte[2]; b[0] = (new Integer(highPos)).byteValue(); b[1] = (new Integer(lowPos)).byteValue(); str = new String(b, "GBK"); return str; }
原理是根据汉字的区位码,其中本例高位从176位置取,低位从161位置开始取
所谓汉字编码,就是采用一种科学可行的办法,为每个汉字编一个唯一的代码,以便计算机辨认、接收和处理。在此介绍的是《国家标准信息交换汉字编码》。这种编码经过加工整理一律以汉语拼音的字母为序,音节相同的字以使用频率为序,其查找方法与一般汉语字典的汉字拼音音节索引查找法相同。
为了使每一个汉字有一个全国统一的代码,1980年,我国颁布了第一个汉字编码的国家标准: GB2312-80《信息交换用汉字编码字符集》基本集,这个字符集是我国中文信息处理技术的发展基础,也是目前国内所有汉字系统的统一标准。由于国标码是四位十六进制,为了便于交流,大家常用的是四位十进制的区位码。所有的国标汉字与符号组成一个94×94的矩阵。在此方阵中,每一行称为一个"区",每一列称为一个"位",因此,这个方阵实际上组成了一个有94个区(区号分别为0 1到94)、每个区内有94个位(位号分别为01到94)的汉字字符集。一个汉字所在的区号和位号简单地组合在一起就构成了该汉字的"区位码"。在汉字的区位码中,高两位为区号,低两位为位号。 在区位码中,01-09区为682个特殊字符,16~87区为汉字区,包含6763个汉字 。其中16-55区为一级汉字(3755个最常用的汉字,按拼音字母的次序排列),56-87区为二级汉字(3008个汉字,按部首次序排列)。
所以,当我们需要n个任意汉字时,我们不必建一个全部汉字表,而是利用区位码实现常用汉字的提取。
阅读全文
0 0
- 随机汉字
- 随机汉字
- 汉字随机码
- 随机生成汉字
- 随机生成汉字!
- 随机生成汉字字符串
- JAVA生成随机汉字
- java 随机 获取 汉字
- 随机生成四个汉字
- C++随机生成汉字
- 随机生成简体汉字
- 生成随机汉字
- 生成随机汉字
- 随机生成汉字
- C#生成随机汉字
- 学习随机生成汉字
- 随机生成常用汉字
- android生成随机汉字
- 最佳eclipse插件-TOP 30
- JQuery中$.ajax()方法参数详解
- svn检出maven web项目后导入到myeclipse中
- java随笔
- Linux-Shell编程之创建shell脚本并执行
- 随机汉字
- pageContext.findAttribute()与pageContext.getAttribute()的区别
- elasticsearch5基本概念
- Class的继承
- bean:resource bean:include jsp:include
- c++(字符串操作 1)
- java连接各种数据库及配各种服务器数据池(更新中)
- 与其他的PDF编辑器相比,迅捷PDF编辑器实在好用太多了
- jquery获取值传值