java程式將漢字轉成拼音的兩種方法
Java程式碼
- import net.sourceforge.pinyin4j.PinyinHelper;
- import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
- import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
-
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
- import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
- import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
- public class ChineseToEnglish {
- // 將漢字轉換為全拼
- public static String getPingYin(String src) {
- char[] t1 = null;
-
t1 = src.toCharArray();
- String[] t2 = new String[t1.length];
- HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();
- t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
- t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
- t3.setVCharType(HanyuPinyinVCharType.WITH_V);
-
String t4 = ""
- int t0 = t1.length;
- try {
- for (int i = 0; i < t0; i++) {
- // 判斷是否為漢字字元
- if (java.lang.Character.toString(t1[i]).matches(
- "[\\u4E00-\\u9FA5]+")) {
- t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);
- t4 += t2[0];
- } else
- t4 += java.lang.Character.toString(t1[i]);
- }
- // System.out.println(t4);
- return t4;
- } catch (BadHanyuPinyinOutputFormatCombination e1) {
- e1.printStackTrace();
- }
- return t4;
- }
- // 返回中文的首字母
- public static String getPinYinHeadChar(String str) {
- String convert = "";
- for (int j = 0; j < str.length(); j++) {
- char word = str.charAt(j);
- String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
- if (pinyinArray != null) {
- convert += pinyinArray[0].charAt(0);
- } else {
- convert += word;
- }
- }
- return convert;
- }
- // 將字串轉移為ASCII碼
- public static String getCnASCII(String cnStr) {
- StringBuffer strBuf = new StringBuffer();
- byte[] bGBK = cnStr.getBytes();
- for (int i = 0; i < bGBK.length; i++) {
- strBuf.append(Integer.toHexString(bGBK[i] & 0xff));
- }
- return strBuf.toString();
- }
- public static void main(String[] args) {
- System.out.println(getPingYin("綦江qq縣"));
- System.out.println(getPinYinHeadChar("綦江縣"));
- System.out.println(getCnASCII("綦江縣"));
- }
- }
2.java程式直接轉
Java程式碼
- import java.util.Iterator;
- import java.util.LinkedHashMap;
- import java.util.Set;
- public class ChineseToEnglish2 {
- private static LinkedHashMap spellMap = null;
- static {
- if (spellMap == null) {
- spellMap = new LinkedHashMap(500);
- }
- initialize();
- }
- private ChineseToEnglish2() {
- }
- private static void spellPut(String spell, int ascii) {
- spellMap.put(spell, new Integer(ascii));
- }
- private static void initialize() {
- spellPut("a", -20319);
- spellPut("ai", -20317);
- spellPut("an", -20304);
- spellPut("ang", -20295);
- spellPut("ao", -20292);
- spellPut("ba", -20283);
- spellPut("bai", -20265);
- spellPut("ban", -20257);
- spellPut("bang", -20242);
- spellPut("bao", -20230);
- spellPut("bei", -20051);
- spellPut("ben", -20036);
- spellPut("beng", -20032);
- spellPut("bi", -20026);
- spellPut("bian", -20002);
- spellPut("biao", -19990);
- spellPut("bie", -19986);
- spellPut("bin", -19982);
- spellPut("bing", -19976);
- spellPut("bo", -19805);
- spellPut("bu", -19784);
- spellPut("ca", -19775);
- spellPut("cai", -19774);
- spellPut("can", -19763);
- spellPut("cang", -19756);
- spellPut("cao", -19751);
- spellPut("ce", -19746);
- spellPut("ceng", -19741);
- spellPut("cha", -19739);
- spellPut("chai", -19728);
- spellPut("chan", -19725);
- spellPut("chang", -19715);
- spellPut("chao", -19540);
- spellPut("che", -19531);
- spellPut("chen", -19525);
- spellPut("cheng", -19515);
- spellPut("chi", -19500);
- spellPut("chong", -19484);
- spellPut("chou", -19479);
- spellPut("chu", -19467);
- spellPut("chuai", -19289);
- spellPut("chuan", -19288);
- spellPut("chuang", -19281);
- spellPut("chui", -19275);
- spellPut("chun", -19270);
- spellPut("chuo", -19263);
- spellPut("ci", -19261);
- spellPut("cong", -19249);
- spellPut("cou", -19243);
- spellPut("cu", -19242);
- spellPut("cuan", -19238);
- spellPut("cui", -19235);
- spellPut("cun", -19227);
- spellPut("cuo", -19224);
- spellPut("da", -19218);
- spellPut("dai", -19212);
- spellPut("dan", -19038);
- spellPut("dang", -19023);
- spellPut("dao", -19018);
- spellPut("de", -19006);
- spellPut("deng", -19003);
- spellPut("di", -18996);
- spellPut("dian", -18977);
- spellPut("diao", -18961);
- spellPut("die", -18952);
- spellPut("ding", -18783);
- spellPut("diu", -18774);
- spellPut("dong", -18773);
- spellPut("dou", -18763);
- spellPut("du", -18756);
- spellPut("duan", -18741);
- spellPut("dui", -18735);
- spellPut("dun", -18731);
- spellPut("duo", -18722);
- spellPut("e", -18710);
- spellPut("en", -18697);
- spellPut("er", -18696);
- spellPut("fa", -18526);
- spellPut("fan", -18518);
- spellPut("fang", -18501);
-
spellPut("fei", -
相關推薦
java程式將漢字轉成拼音的兩種方法-----------------第二種方式
同樣需要下載pom檔案,匯入相應的jar包!!!!!! import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPi
java程式將漢字轉成拼音的兩種方法
1.使用pinyin4j將漢字轉成拼音,附件為pinyin4j的jar包 Java程式碼 import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.piny
將漢字轉化成拼音的使用方法
1、步驟一:將pinyin4j-2.5.0.jar拷貝到libs下 2、步驟二: 封裝一個類,用來進行進行轉化拼音 class Hanyu { private HanyuPinyinOutputFormat format = null;
pyhton3.5將漢字轉成二進制的方法
font code 中國 進制 family bytes print 3.5 int 直接上代碼:name = "你好,中國人"byteName = bytes(name.encode("utf-8"))print(byteName)for b in byteName :
Android 實現ListView的A-Z字母排序和過濾搜尋功能,實現漢字轉成拼音
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
漢字轉成拼音
NSString *stringText = @"iOS開發交流群:119783156"; if ([stringText length]) { NSMutab
自定義UDF函式:將漢字轉換成拼音
工作需求要講漢字轉換成拼音,自定義UDF函式import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.f
Android 實現漢字轉成拼音,實現ListView的A-Z字母排序,顯現多音字城市排序
今天給大家帶來ListView的A-Z字母排序和過濾搜尋功能並且實現漢字轉成拼音的功能,我們知道一般我們對聯絡人,城市列表等實現A-Z的排序,因為聯絡人和城市列表我們可以直接從資料庫中獲取他的漢字拼音,而對於一般的資料,我們怎麼實現A-Z的排序,我們需要將漢字
淺談Java如何將字串轉成Json物件以及從Json物件中獲得相應的值
前序:在做專案的過程中有次需要將json格式的字元拼接起來作為HTTP請求的一部分,且伺服器響應資訊即收到的返回資訊也是json格式的字串,在做這個專案中請求資訊我是使用字串拼接的,長長的json格式字串讓我拼接了半天,中途出現了幾次錯誤,白白耗費了時間。解析響應的json格
C#將漢字轉成漢語拼音
/// <summary> /// 漢字轉拼音或轉拼音首字母 /// </summary> public class ChineseToSpell {
vue打包的時候自動將px轉成rem的操作方法
px2rem-loader 需要與 flexible 配合使用,不然px2rem僅僅只是轉成rem卻不會設定rem的資訊 安裝 flexible npm i lib-flexible -S 然後在main.js中引入 import ‘lib-flexible/flexible
Java程式設計師需要了解的兩種伺服器設計模型
我們在IO模型和Java網路程式設計模型中,對IO有了一定的理解。這一篇,主要講解基於事件驅動的兩種是在原來基礎上的擴充套件。在基於事件驅動的網路程式設計模型中,Reactor和Proactor模型是兩種常用的IO設計模型。 我們知道BIO(阻塞IO)只有等待阻塞方法結束了,操作權才會交還給呼叫
python中list轉csv的兩種方法
方法一: name_attribute = ['NumberID','UserID','ModuleID','StartDate','EndDate','Frequent'] writerCSV=pd.DataFrame(columns=name_attribute,data=data) wr
DES加密 java與.net可以相互加密解密兩種方法
DES加密 java與.net可以相互加密解密兩種方法 https://www.cnblogs.com/DrWang/archive/2011/03/30/2000124.html sun.misc.BASE64Decoder.jar最新 https://download.csdn.ne
Base64位元組陣列轉圖片的兩種方法
問題引出: 在某些情況下Rest API約定不允許通過流形式直接GET提供到客戶端直接展示圖片。如果是這樣,那麼就只能把後端生成的圖片轉成ByteArray返回給前臺,讓前臺重新把它變成圖片!這裡提供兩種解析方法 第一種方法: data中包含了一個PNG圖片驗證
判斷java物件是否是垃圾物件的兩種方法
前言 判斷物件為垃圾物件的方法為:引用計數法和可達性分析法。 Object object = new Object(); object = null; // 此時為垃圾物件 引用計數法 在物件中新增一個引用計數器,當有地方引用這個物件的時候,
微信小程式彈出loading層的兩種方法:直接在程式碼裡控制,在wxml檔案里布局彈窗loading層,利用條件渲染,在js程式碼裡控制是否顯示loading層。
微信小程式彈出loading層的兩種方法:直接在程式碼裡控制,在wxml檔案里布局彈窗loading層,利用條件渲染,在js程式碼裡控制是否顯示loading層。 直接在程式碼裡控制 js程式碼 showLoading:function(){ wx.showToast({
Java併發:建立執行緒的兩種方法:繼承Thread類和實現Runnable介面(一)
【1】瞭解程序與執行緒的概念 程序是一個程式在其自身的地址空間中執行一次活動,是資源申請、排程和獨立執行的單位。 執行緒是程序中的一個單一的連續控制流程,一個程序可以包含一個或多個執行緒。 如果要在
多個java檔案共用同一動態變數的兩種方法
前言: 以前小白的我總是困惑兩個java檔案如何共用一個動態變數,今天就做一個總結 方法一: package com.Business.controller; import org.springframework.beans.factory.annotatio
集合轉陣列的兩種方法
不多說,直接上程式碼,程式碼很簡單,應該都能看的懂~ public static void main(String[] args) { List list = new ArrayLis