200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 生成随机 简体汉字 繁体汉字

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

时间:2018-10-21 07:31:16

相关推荐

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

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

无限参考这篇文章/wanghao06/article/details/45365097

生成简体汉字

/*** 生成随机简体汉字* * @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 blocke.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 blocke.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包。

还有一个方法呢就是 让你现实的字体都为繁体字就行了。那么就是我们常用的 改变字体的方法。也比较简单

在Android中可以引入其他字体,首先要将字体文件保存在assets/fonts/目录下

//得到TextView控件对象TextView textView =(TextView)findViewById(R.id.custom);//将字体文件保存在assets/fonts/目录下,创建Typeface对象Typeface typeFace =Typeface.createFromAsset(getAssets(),"fonts/HandmadeTypewriter.ttf");//使用字体textView.setTypeface(typeFace);

下载jar包吧

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。