欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java代碼實(shí)現(xiàn)隨機(jī)生成漢字的方法

 更新時(shí)間:2019年03月28日 15:19:09   作者:徐劉根  
今天小編就為大家分享一篇關(guān)于Java代碼實(shí)現(xiàn)隨機(jī)生成漢字的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

一、背景知識(shí)

GB 2312-80 是中國國家標(biāo)準(zhǔn)簡體中文字符集,全稱《信息交換用漢字編碼字符集·基本集》,由中國國家標(biāo)準(zhǔn)總局發(fā)布,1981年5月1日實(shí)施。GB2312 編碼通行于中國大陸;新加坡等地也采用此編碼。中國大陸幾乎所有的中文系統(tǒng)和國際化的軟件都支持 GB 2312。

GB2312 標(biāo)準(zhǔn)共收錄 6763 個(gè)漢字,其中一級(jí)漢字 3755 個(gè),二級(jí)漢字 3008 個(gè);同時(shí)收錄了包括拉丁字母、希臘字母、日文平假名及片假名字母、俄語西里爾字母在內(nèi)的 682 個(gè)字符。GB2312 的出現(xiàn),基本滿足了漢字的計(jì)算機(jī)處理需要,它所收錄的漢字已經(jīng)覆蓋中國大陸 99.75% 的使用頻率。對于人名、古漢語等方面出現(xiàn)的罕用字,GB2312 不能處理,這導(dǎo)致了后來 GBK 及 GB18030 漢字字符集的出現(xiàn)。

GB2312 中對所收漢字進(jìn)行了“分區(qū)”處理,每區(qū)含有 94 個(gè)漢字/符號(hào)。這種表示方式也稱為區(qū)位碼。

  • 01 - 09 區(qū)為特殊符號(hào)。
  • 16 - 55 區(qū)為一級(jí)漢字,按拼音排序。
  • 56 - 87 區(qū)為二級(jí)漢字,按部首/筆畫排序。
  • 10 - 15 區(qū)及 88 - 94 區(qū)則未有編碼。舉例來說,“啊”字是 GB2312 之中的第一個(gè)漢字,它的區(qū)位碼就是 1601。

每個(gè)漢字及符號(hào)以兩個(gè)字節(jié)來表示。第一個(gè)字節(jié)稱為“高位字節(jié)”,第二個(gè)字節(jié)稱為“低位字節(jié)”?!案呶蛔止?jié)”使用了 0xA1 - 0xF7(把 01 - 87 區(qū)的區(qū)號(hào)加上 0xA0),“低位字節(jié)”使用了 0xA1 - 0xFE(把 01 - 94 位的位號(hào)加上 0xA0)。 由于一級(jí)漢字從 16 區(qū)起始,漢字區(qū)的“高位字節(jié)”的范圍是 0xB0 - 0xF7,“低位字節(jié)”的范圍是 0xA1 - 0xFE,占用的碼位是 72 * 94 = 6768。其中有 5 個(gè)空位是 D7FA - D7FE。例如“啊”字在大多數(shù)程序中,會(huì)以兩個(gè)字節(jié),0xB0(第一個(gè)字節(jié))0xA1(第二個(gè)字節(jié))儲(chǔ)存。(與區(qū)位碼對比:0xB0 = 0xA0 + 16, 0xA1 = 0xA0 + 1)。

國家標(biāo)準(zhǔn) GB 18030-2005《信息技術(shù) 中文編碼字符集》,是中華人民共和國現(xiàn)時(shí)最新的內(nèi)碼字集,與 GB 2312-1980 完全兼容,與 GBK 基本兼容,支持 GB 13000 及 Unicode 的全部統(tǒng)一漢字,共收錄漢字 70244 個(gè)?,F(xiàn)行版本為國家質(zhì)量監(jiān)督檢驗(yàn)總局和中國國家標(biāo)準(zhǔn)化管理委員會(huì)于2005年11月8日發(fā)布,2006年5月1日實(shí)施,為在中國境內(nèi)所有軟件產(chǎn)品支持的強(qiáng)制標(biāo)準(zhǔn)。

二、隨機(jī)生成常用漢字的 C# 程序

新建Java項(xiàng)目,創(chuàng)建代碼片段:

import java.io.UnsupportedEncodingException;
import java.util.Random;
/**
 * 隨機(jī)生成常見的漢字
 * 
 * @author xuliugen
 * 
 */
public class GeneCharTest {
  public static void main(String[] args) {
    for (int i = 1; i < 24; i++) {
      System.out.print(getRandomChar() + " ");
    }
  }
  private static 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) {
      e.printStackTrace();
      System.out.println("錯(cuò)誤");
    }
    return str.charAt(0);
  }
}

運(yùn)行結(jié)果:

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • 面向?qū)ο蠛兔嫦蜻^程的區(qū)別(動(dòng)力節(jié)點(diǎn)java學(xué)院整理)

    面向?qū)ο蠛兔嫦蜻^程的區(qū)別(動(dòng)力節(jié)點(diǎn)java學(xué)院整理)

    很多朋友不清楚面向?qū)ο蠛兔嫦蜻^程有什么區(qū)別,接下來小編給大家整理了關(guān)于面向?qū)ο蠛兔嫦蜻^程的區(qū)別講解,感興趣的朋友可以參考下
    2017-04-04
  • jdk安裝、Java環(huán)境配置方法詳解

    jdk安裝、Java環(huán)境配置方法詳解

    這篇文章主要介紹了jdk安裝、Java環(huán)境配置方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • java的各種集合為什么不安全(List、Set、Map)以及代替方案

    java的各種集合為什么不安全(List、Set、Map)以及代替方案

    這篇文章主要介紹了java的各種集合為什么不安全(List、Set、Map)以及代替方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Java中Scanner用法簡單示例

    Java中Scanner用法簡單示例

    這篇文章主要給大家介紹了關(guān)于Java中Scanner用法的相關(guān)資料,Scanner是Java中的一個(gè)類,用于讀取用戶的輸入,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • SpringBoot整合BCrypt實(shí)現(xiàn)密碼加密

    SpringBoot整合BCrypt實(shí)現(xiàn)密碼加密

    這篇文章主要為大家詳細(xì)介紹了SpringBoot整合BCrypt進(jìn)行密碼加密,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 解決springboot項(xiàng)目啟動(dòng)報(bào)錯(cuò)Field xxxMapper in com...xxxController required

    解決springboot項(xiàng)目啟動(dòng)報(bào)錯(cuò)Field xxxMapper in com...xx

    這篇文章主要介紹了解決springboot項(xiàng)目啟動(dòng)報(bào)錯(cuò)Field xxxMapper in com...xxxContr問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • java HashMap內(nèi)部實(shí)現(xiàn)原理詳解

    java HashMap內(nèi)部實(shí)現(xiàn)原理詳解

    這篇文章主要介紹了java HashMap內(nèi)部實(shí)現(xiàn)原理詳解的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • 深入講解Java 9中的九個(gè)新特性

    深入講解Java 9中的九個(gè)新特性

    Java 8 發(fā)布三年多之后,即將快到2017年7月下一個(gè)版本發(fā)布的日期了。 你可能已經(jīng)聽說過 Java 9 的模塊系統(tǒng),但是這個(gè)新版本還有許多其它的更新。 這里有九個(gè)令人興奮的新功能將與 Java 9 一起發(fā)布。需要的朋友可以參考學(xué)習(xí),下面來一起看看吧。
    2017-05-05
  • spring一個(gè)項(xiàng)目多個(gè)模塊聚合打包問題解決方案(最新推薦)

    spring一個(gè)項(xiàng)目多個(gè)模塊聚合打包問題解決方案(最新推薦)

    最近遇到個(gè)需求,針對后端解耦模塊較多的項(xiàng)目,想在云端啟動(dòng)時(shí)簡潔些只啟動(dòng)一個(gè)jar文件的情景,本文重點(diǎn)給大家介紹spring一個(gè)項(xiàng)目多個(gè)模塊聚合打包問題解決方案,感興趣的朋友一起看看吧
    2023-09-09
  • Java8的default和static關(guān)鍵字的使用講解

    Java8的default和static關(guān)鍵字的使用講解

    今天小編就為大家分享一篇關(guān)于Java8的default和static關(guān)鍵字的使用講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01

最新評(píng)論