用java写的随即汉字生成器

来源:互联网 发布:淘宝40磅反曲弓 编辑:程序博客网 时间:2024/05/01 00:57

public static String getChineseCharacter(long seed) throws Exception{

String str = null;          //保存结果

int highPos,lowPOs;      //高位、低位

Random random = new Random(seed);      //随机数生成器

highPos = 176 + Math.abs(random.nextInt(39));        //计算高位数

lowPos = 161 + Math.abs(random.nextInt(93));      //计算低位数

byte[] b = new byte[2];      //转化为B类型

b[0] = (new Integer(highPos)).byteValue();            //高字节

b[1] = (new Integer(lowPos)).byteValue();         //低字节

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

return str;

}

随机生成汉字算法的依据是汉字区位码。由于区位码中既有简体,又有繁体,因此随机取汉字时不能从0开始去。本例高位从176开始,低位从161开始,去掉了很大一部分繁体字和生僻字,但仍然会生成极少量繁体字及生僻字。    可查汉字区位码分布表。

 

  

原创粉丝点击