久久综合九色综合97婷婷-美女视频黄频a免费-精品日本一区二区三区在线观看-日韩中文无码有码免费视频-亚洲中文字幕无码专区-扒开双腿疯狂进出爽爽爽动态照片-国产乱理伦片在线观看夜-高清极品美女毛茸茸-欧美寡妇性猛交XXX-国产亚洲精品99在线播放-日韩美女毛片又爽又大毛片,99久久久无码国产精品9,国产成a人片在线观看视频下载,欧美疯狂xxxx吞精视频

有趣生活

當前位置:首頁>知識>方塊消除java代碼(Bopomofo4j純Java開發的漢字轉拼音庫)

方塊消除java代碼(Bopomofo4j純Java開發的漢字轉拼音庫)

發布時間:2024-01-23閱讀(11)

導讀零依賴,純Java開發的漢字->拼音轉換,簡體<->繁體互轉,具備沙盒運行模式實現漢字轉拼音實現漢語單詞轉拼音實現漢語句子轉拼音,在一定程度解決多音字問題實....

零依賴,純Java開發的漢字->拼音轉換,簡體<->繁體互轉,具備沙盒運行模式

  1. 實現漢字轉拼音
  2. 實現漢語單詞轉拼音
  3. 實現漢語句子轉拼音,在一定程度解決多音字問題
  4. 實現簡體,繁體互轉
  5. 詞庫實現沙盒模式進行熱加載,也可使用本地模式

方塊消除java代碼(Bopomofo4j純Java開發的漢字轉拼音庫)(1)

拼音搜索引擎

官網在線搜索:pinyin.rnkrsoft.com ,當發現不能正確解析詞語讀音,可以來這里維護詞庫,向我們提出申請。

<dependency> <groupId>com.rnkrsoft.bopomofo4j</groupId> <artifactId>bopomofo4j</artifactId> <version>最新版本號</version></dependency>

最新版本號見上方,本庫支持沙盒模式,即使使用低版本依然可以獲取最新的功能實現。

純JavaScript實現的兄弟庫 Bopomofo.js https://github.com/rnkrsoft/Bopomofo.js,可以在HTML上輕松使用Bopomofo.js。同時Bopomofo4j中已經整合Bopomofo.js版本,如果使用embedded-tomcat庫可以輕松直接使用Bopomofo.js,路徑為/bopomofo/bopomofo.min.js

1.原理

  1. 獲取當前漢字的unicode值,如果在[19968,40869]中文區間,則執行第2步,否則直接輸出(可能為符號,數字,英文字母或其他語系)
  2. 檢查當前漢字是否在多音字庫中,如果存在返回該漢字發音的拼音和漢字序列數組,將當前句子上下文進行序列匹配,如果能夠匹配,則為該發音。如果無返回,則進入第三步
  3. 維護一個拼音與漢字映射的字庫,遍歷字庫查找該拼音發音的漢字序列,將當前漢字與漢字序列進行檢查是否在其中,如果在其中則返回該拼音。

2.沙盒模式

  1. 當Bopomofo4j處于沙盒模式下,從Maven中央倉庫查詢最新的正式版本,使用最新的正式版本URL下載Jar。
  2. 使用URL類加載器進行加載,加載成功后實例化IBopomofoKernel實現類,并緩存為proxy。
  3. 如果下載過程或者加載過程發生異常,使用本地庫作為proxy。
  4. 如果人為設置模式為沙盒,則需要在超過1分鐘后重新嘗試步驟1,步驟2。
  5. 如果人為設置模式為本地,則使用v100下的LocalKernel。如果為1.0.1則為v101下的LocalKernel。

3.API

整個庫使用僅需要com.rnkrsoft.bopomofo4j.Bopomofo4j這個類的訪問,提供如下幾個方法。

/** * 本地庫運行拼音轉換庫 */public static final void local();/** * 沙盒運行拼音轉換庫 */public static final void sandbox();/** * 將漢字句子轉換拼音,支持聲母帶音調,數字音調,無音調三種格式 * * @param words 句子 * @param toneType 拼音樣式 0-聲母帶音調,1-數字音調在最后,2-無音調,默認值0 * @param upper 是否大寫,默認為假(小寫) * @param cap 是否首字母大寫,在upper為假時有效,默認為假(小寫) * @param split 分割符號,默認一個空格 * @return 拼音 */public static final String pinyin(String words, ToneType toneType, Boolean upper, Boolean cap, String split);/** * 將繁體中文轉換為簡體中文 * @param words 繁體中文句子 * @return 簡體中文句子 */public static final String cht2chs(String words);/** * 將簡體中文轉換為繁體中文 * @param words 簡體中文句子 * @return 繁體中文句子 */public static final String chs2cht(String words);

例如:

//漢語句子->聲母音調拼音String v1 = Bopomofo4j.pinyin("中國人!",0, false, false, " ");System.out.println(v1);//控制臺輸出 zhōng guó rén!//漢語句子->數字音調拼音String v2 = Bopomofo4j.pinyin("患難與共的兄弟??!",1, false, false, " ");System.out.println(v2);//控制臺輸出 huan4 nan4 yu3 gong4 de0 xiong1 di4?。?/漢語句子->無音調拼音String v3 = Bopomofo4j.pinyin("this is a pinyin library!這是一個漢語拼音庫!!",2, false, false, " ");System.out.println(v3);//控制臺輸出 this is a pinyin library! zhe shi yi ge han yu pin yin ku??!//繁體->簡體String v4 = Bopomofo4j.cht2chs("APM(Actions Per Minute)是一個在遊戲");System.out.println(v4);//APM(Actions Per Minute)是一個在游戲//簡體->繁體String v5 = Bopomofo4j.chs2cht("APM(Actions Per Minute)是一個在游戲");System.out.println(v5);//APM(Actions Per Minute)是一個在遊戲

3.1沙盒模式

Bopomofo4j在此種設置下將訪問"https://repo1.maven.org/maven2/com/rnkrsoft/bopomofo4j/bopomofo4j"中央倉庫地址,獲取最新發布的Bopomofo4j運行庫,獲取后以沙盒方式熱加載實現,也就是可以實現不更新Bopomofo4j包文件的情況下使用最新的Bopomofo4j實現。可以方便的獲取字庫更新的功能和邏輯實現。但是要防止https://repo1.maven.org是否被localhost配置,如果配置有可能存在加載惡意代碼的風險,使用時需要特別注意此點。默認情況下Bopomofo4j開啟沙盒模式。可以通過以下代碼禁用

Bopomofo4j.local();//啟用本地模式(也就是禁用沙盒)

也可以在運行時啟用沙盒

Bopomofo4j.sandbox();//啟用沙盒模式

沙盒模式和本地模式的切換規則,在沙盒加載遠程版本失敗以后,要隔1分鐘才進行下一次嘗試運行沙盒,在這一分鐘里Bopomofo4j回退到本地模式運行。

3.1.1強制指定遠程版本

如果你有自己的私服倉庫可以使用以下JVM參數來強制指定下載新版JAR地址

-Dbopomofo4j.sandbox.url=https://xxxx.com/bopomofo4j-1.0.0.jar

此種方式下將忽略中央倉庫自動發現最新版機制,改用參數“bopomofo4j.sandbox.url”指定的地址。

3.1.2指定沙盒版本文件存放路徑

當運行在沙盒模式時,遠程文件被下載到“bopomofo4j.temp.dir”參數指定的路徑下,默認情況相當于如下配置

-Dbopomofo4j.temp.dir=./bopomofo4j-temp

如果需要重新指定路徑,則對參數重新設置值即可。

3.2本地模式(禁用沙盒)

Bopomofo4j在此種設置下將不再訪問中央倉庫地址"https://repo1.maven.org/maven2/com/rnkrsoft/bopomofo4j/bopomofo4j",也就不會下載最新版的Bopomofo4j來運行。如果禁用沙盒,又想更新版本,則只能替換Jar或者修改Maven,Gradle依賴來實現。

Bopomofo4j.local();//啟用本地模式(也就是禁用沙盒)

TAGS標簽:  方塊  消除  java  代碼  Bopomofo4j  方塊消除java代碼

歡迎分享轉載→http://www.avcorse.com/read-105966.html

Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖