生成随机 简体汉字 繁体汉字

最近在给一个香港学生做毕设,要求生成随机繁体汉字。慕课网视频讲了如何生成简体汉字,其实繁体汉字也很简单。废话不说上代码

生成简体汉字

/**

* 生成随机简体汉字

*

* @return

*/

private 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) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return str.charAt(0);

}

随机生成 繁体汉字

/**

* 生成随机繁体汉字

*

* @return

*/

private char getRandomChar() {

String str = "";

int hightPos;

int lowPos;

Random random = new Random();

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

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, "BIG5");

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return str.charAt(0);

}

很简单吧。只要把GBK改为BIG5  bit5就是繁体的字库。

可修改的地方还有就是

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

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

这两句话是字节的高位和低位。组成了一个汉字。你可以试这改变上面的数值  看看打印的是什么。不过 176 和 161 最好不要动。他们是汉字高位和地位编码最小值。

下面一个方法是 简体和繁体字的 转换 用的是 :ZHConverter.jar

方法如下

String simplifiedStr = ZHConverter.convert("輸入妳要查詢的簡體字,點擊轉換按鈕,就能轉換為繁體字",ZHConverter.SIMPLIFIED);

System.out.println(simplifiedStr);

String traditionalStr = ZHConverter.convert("输入妳要查询的简体字,点击转换按钮,就能转换为繁体字。",ZHConverter.TRADITIONAL);

System.out.println(traditionalStr);

打印结果

方法也很简单。直接复制就行了。只不过是导入下jar包。

下载jar包吧

时间: 2024-08-29 19:18:52

生成随机 简体汉字 繁体汉字的相关文章

《汉字简体、繁体相互转换》 查看源代码

本脚本建立了两个超大数组用于存放简体汉字和繁体汉字,然后进行一一对应的转换,转换效率还是不错的! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">

java生成随机汉字

方法一: public static char getRandomChar() { return (char) (0x4e00 + (int) (Math.random() * (0x9fa5 - 0x4e00 + 1))); } 方法二:不常见的汉字 public static void main(String[] args) { RandomHan han = new RandomHan(); System.out.println(han.getRandomHan()); } } class

android生成随机汉字

生成随机汉字 最近在项目中用到了一个功能,就是要生成随机汉字,想到很多人使用的很少,但是要用的时候确实又不知道从何入手,那么今天我将把这段代码分享出来,供大家参考学习,可以用作工具类,供及时之需: /** * 生成随机汉子 * @return */ private char getRandomChar() { String str = ""; int hightPos; int lowPos; Random random = new Random(); hightPos = (176

用C#生成随机中文汉字验证码的基本原理

前几天去申请免费QQ号码,突然发现申请表单中的验证码内容换成了中文,这叫真叫我大跌眼镜感到好笑,Moper上的猫儿们都大骂腾讯采用中文验证码.^_^  我不得不佩服腾讯为了防止目前网络上横行的QQ号码自动注册机而采取中文验证码的手段.仔细想了想感觉用程序生成随机的中文验证码并不是很难,下面就来介绍一下使用C#生成随机的中文汉字的原理. 1.汉字编码原理  到底怎么办到随机生成汉字的呢?汉字从哪里来的呢?是不是有个后台数据表,其中存放了所需要的所有汉字,使用程序随机取出几个汉字组合就行了呢?使用后

学习python:实例2.用PIL生成随机验证码

效果: 代码: # 生成随机验证码图片 import string from random import randint, sample from PIL import Image, ImageDraw, ImageFont, ImageFilter # Image 负责处理图片 # ImageDraw 画笔 # ImageFont 文字 # ImageFileter 滤镜 # 定义变量 img_size = (150,50)        # 定义画布大小 img_rgb = (255,255

动态生成随机背景色表格

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>动态生成随机背景色表格</title> <style> table{margin-top:20px;width:800px;border:1px solid #ddd;border-collapse:collapse;} td{border:1px solid #ddd;padding:

.net生成随机字符串

生成随机字符串的工具类: /// <summary> /// 随机字符串工具类 /// </summary> public class RandomTools { /// <summary> /// 随机系数 /// </summary> public static int _RandIndex = 0; #region 获取某个区间的一个随机数 /// <summary> /// 获取某个区间的一个随机数 /// </summary>

在JSP中动态生成随机验证码,登录时后台校验验证码,以及如何避免同一个验证码被重复提交爆破密码

只需几步就可以生成动态随机的验证码,最终效果如下图: 一 前台显示页面login.jsp 其中验证码显示的是一张图片,链接指向的是生成验证码的servlet,同时点击图片后触发changeImg()这个js函数,使其动态生成一个新的验证码,这个函数中的参数t=Math.random()并不会参与验证码的生成,它的作用仅仅只是表示每次提交的并不是同一个请求,需要单独处理,完整的login.jsp代码如下: <%@ page language="java" contentType=&

生成随机数组

不多说,直接上代码测试,之前在网上看到一个生成随机数组,写的实在不怎么样,下面是我的方式,有谁有更好的方式,可以交流一下 C代码:很快很快的 #include <stdio.h> #include <stdlib.h> #include <time.h> void main() { long last = 1000000; long *arr=(long *)malloc(last*sizeof(long)); long *brr=(long *)malloc(last