生成隨機 簡體漢字 繁體漢字
來源:程序員人生 發布時間:2015-06-15 08:46:05 閱讀次數:3426次
最近在給1個香港學生做畢設,要求生成隨機繁體漢字。慕課網視頻講了如何生成簡體漢字,其實繁體漢字也很簡單。空話不說上代碼
無窮參考這篇文章http://blog.csdn.net/wanghao200906/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)));
// 1個漢字由兩個字節組成
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)));
// 1個漢字由兩個字節組成
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)));
這兩句話是字節的高位和低位。組成了1個漢字。你可以試這改變上面的數值 看看打印的是甚么。不過 176 和 161 最好不要動。他們是漢字高位和地位編碼最小值。
下面1個方法是 簡體和繁體字的 轉換 用的是 :ZHConverter.jar
方法以下
String simplifiedStr = ZHConverter.convert("
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
------分隔線----------------------------
------分隔線----------------------------