1. 程式人生 > >強大的Android漢字轉拼音開源庫TinyPinyin

強大的Android漢字轉拼音開源庫TinyPinyin

我們日常開發中遇到漢字轉拼音的機會比較少,但是在做聯絡人相關的時候就會常常遇到,比如微信聯絡列表,手機聯絡人列表,張三的首字母排序是Z,王五的首字母排序是W。

今天給大家介紹一個漢字轉拼音的庫TinyPinyin,具體的github地址在這裡TinyPinyin

專案匯入就一步:

compile ‘com.github.promeg:tinypinyin:2.0.3’ // 2018.2.25日最新版本

我們看下這個庫的特性

生成的拼音不包含聲調,均為大寫;
支援自定義詞典,支援簡體中文、繁體中文;
執行效率很高(Pinyin4J的4~16倍);
很低的記憶體佔用(不新增詞典時小於30KB)。

下面讓我們看具體的API使用:

1 根據一個字元轉成拼音,如果該字元不是漢字就顯示該字元,否則轉成拼音(下面幾個API一樣)

String s= Pinyin.toPinyin('樑');

輸出結果是: LIANG

2 根據一個字串轉成拼音

String pinyin = Pinyin.toPinyin("樑超傑","/");
//"/"表示分割符,每個拼音之間的分割的符號

輸出結果是: LIANG/CHAO/JIE

3 判斷一個字元是不是漢字?

 boolean isChinese = Pinyin.isChinese('樑');

輸出結果是: true

4 處理多音字

舉個例子:你的聯絡人有一個人姓解,這是一個多音字(XIE和JIE)但是這個庫預設轉換的拼音可能和你的叫法不一致,所以下面這個就派上用場了

 // 新增自定義詞典
        Pinyin.init(Pinyin.newConfig()
                .with(new PinyinMapDict() {
                    @Override
                    public Map<String, String[]> mapping() {
                        HashMap<String
, String[]> map = new HashMap<String, String[]>(); map.put("解", new String[]{"XIE"}); return map; } })); String pinyin = Pinyin.toPinyin("解元","/");

輸出結果: XIE/YUAN

不使用匿名內部類的話,你也可以構造一個類去繼承PinyinMapDict,來自定義你對於某些特殊字的拼音要求

歡迎評論區留言一起學習使用這個庫,麼麼噠~

相關推薦

強大Android漢字拼音開源TinyPinyin

我們日常開發中遇到漢字轉拼音的機會比較少,但是在做聯絡人相關的時候就會常常遇到,比如微信聯絡列表,手機聯絡人列表,張三的首字母排序是Z,王五的首字母排序是W。 今天給大家介紹一個漢字轉拼音的庫TinyPinyin,具體的github地址在這裡TinyPinyi

漢字拼音開源工具包Jpinyin介紹

      最近要實現一個根據詞語得到詞語對應拼音的功能,找到了Jpinyin這個開源工具包,使用下來發現它非常強大,完全滿足我的需求,下面對它做一個簡單的介紹,希望能夠幫助到有需要的朋友。 一、專案介紹:         JPinyin是一個漢字轉拼音的Java開源

Android漢字拼音的完美解決方案

前面的話:做一件事情前一定要先對比多種解決方案在開始寫程式碼,如果一開始就知道某種方法的不合理,就不會浪費那麼多時間在解決之前的錯誤上啦。這篇文章就是因為一開始沒有認識到這個問題,付出的代價。以此為戒! 一開始,我使用ASCII碼和拼音的對映對漢字和拼音間

Android漢字拼音的兩種方法,優劣比較

一、前言 在我們的開發中,有時會有這樣的需求,就是聯絡人列表按照拼音順序排列(如通訊錄)。於是,我也在網上搜到了許多這類的文章,就兩種最常見的做法在此進行簡單的比較和分析 二、漢字轉拼音的方法 使用第三方pinyin4j的jar包。 下載地

Java/Android漢字拼音的兩種方法,優劣比較

一、前言 在我們的開發中,有時會有這樣的需求,就是聯絡人列表按照拼音順序排列(如通訊錄)。於是,我也在網上搜到了許多這類的文章,就兩種最常見的做法在此進行簡單的比較和分析 二、漢字轉拼音的方法 使用第三方pinyin4j的jar包。 下載地址  , Android St

Android工具類——拼音幫助類PinyinUtils,漢字拼音,首字母

import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; import net.sourceforge.pinyin4

2萬字PHP漢字拼音(UTF-8)

<?php $a1=array("\U4E00","\U4E01","\U4E02","\U4E03","\U4E04","\U4E05","\U4E06","\U4E07","\U4E08","\U4E09","\U4E0A","\U4E0B","\U4

利用Android原始碼,輕鬆實現漢字拼音功能

 今天和大家分享一個從Android系統原始碼提取出來的漢字轉成拼音實現方案,只要一個類,560多行程式碼就可以讓你輕鬆實現漢字轉成拼音的功能,且無需其他任何第三方依賴。 需求場景 實際開發過程中需要用到實現漢字轉成拼音的場景比較常見,如:通訊錄裡的聯絡人字母導航欄

Android-實現漢字拼音支援一詞多音

<span style="font-family:KaiTi_GB2312;font-size:18px;"><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=

Android Studio 漢字拼音

今天上課的時候老師講到了漢字轉拼音的問題,感覺挺有意思的,就自己搗鼓了一下。 查閱了一些資料,發現java獲取漢字的拼音,pinyin4j.jar這個庫可以很好的解決此類問題,先是用Myeclipse10做的,因為最近在學習android開發的內容,所以想把它做成一個簡單的

簡單測試--C#實現中文漢字拼音首字母

esp chart htm foreach ext ads linq 類庫 play 第一種: 這個是自己寫的比較簡單的實現方法,要做漢字轉拼音首字母,首先應該有一個存儲首字母的數組,然後將要轉拼音碼的漢字與每個首字母開頭的第一個漢字即“最小”的漢字作比較,這裏的最小指的是

漢字拼音

col [] 沒有 行為 pin bin -1 風險 static 使用的庫: pinyin4j 鏈接:http://pan.baidu.com/s/1gf23Nkn 密碼:b4sf 使用pinyin4j獲取漢字的簡拼/全拼示例: 1 package prinyin

asp.net 漢字拼音的車禍現場

png trim 漢語拼音 集中 其中 現場 version nap 類文件 asp.net 漢字轉拼音 需求背景: 昨天遇到個問題,就是面對系統中集中性的要設置大批量的用戶設置默認的用戶名,密碼,權限(角色),同時要求用戶名是姓名的全拼,回頭看看旁邊那個

oracle漢字拼音(獲得全拼/拼音首字母/拼音截取等)

sub 截取 需要 sel 內容 zip bsp .com 整理 oracle漢字轉拼音(獲得全拼/拼音首字母/拼音截取等) 效果如下: Oracle 字符集 GBK 沒有問題 , UTF -8 需要修改一下Sql代碼 --oracle漢字轉拼音 PACKAGE --1

Python 漢字拼音

技術 PE fir for str IT 代碼 @param cep 本文參考: Python中文轉拼音代碼(支持全拼和首字母縮寫) 中文中不可以有“()” # -*- coding: utf-8 -*- __version__ = ‘0.9‘ __all__ = ["

楊澤業:讓你的網站無限可能之給你的網站增加漢字拼音的新功能

上傳 class 體驗 很多 microsoft eight col tps 拼音 一個網站可以無限可能,你的網站可以成就你的事業! 這不是一句空話,而是一個可行的方案。 今天澤業建站網站長楊澤業來給大家講解一下最簡單的網站功能的增加。 現在增加的是【漢字轉拼音】的新功能為

C#之使用StringHelper來處理漢字拼音

ase blog true 符號 arr mes rep mode dede StringHelper字符串處理幫助 現在已經實現的功能有: 1.用給定的字符填充源字符串的左邊以達到指定的長度 2.用給定的字符填充源字符串的右邊以達到指定的長度 3.轉半角的函數(DBC c

Python之漢字拼音

 1.安裝pypinyin pip install pypinyin  2.具體程式碼如下 from pypinyin import pinyin,Style # # singer_dict = { # # "first": [{"name":

Android事件匯流排 AndroidEventBus 開源釋出

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

php漢字拼音 php 漢字取首字母

php漢字轉拼音 php 漢字取首字母 <?php /** * Class ConvertToPingYin * * 請到對應的網站申請轉換介面 * * https://www.showapi.com/api/lookPoint/99 */ class ConvertToP