java中漢字轉換成拼音首字母
方法一:
最近做的B2B商城的專案,有這樣的一個需求,要求獲取使用者輸入的商品推薦型別漢字轉換成每個漢字的拼音首字母存入資料庫,在網上搜索了下,之看到了返回所有漢字的拼音,我在這裡做了一下修改,程式碼如下:
import java.io.Serializable;
public class PinyinCode implements Serializable {
public PinyinCode(String py, int cd) {
pinyin = py;
code = cd;
}
public String pinyin = null;
public int code = 0;
}
import java.util.ArrayList;
import test.PinyinCode;
public class JString {
private static ArrayList pinyin = new ArrayList(395);
public static String getPinyin(String word) {
StringBuffer str = new StringBuffer();
String pinyin = "";
for (int i = 0; i < word.length(); i++) {
pinyin = getPinyin2(getCode(word.charAt(i)));
str.append(pinyin.charAt(0));
}
return str.toString();
}
protected static String getPinyin2(int hz) {
String py = "";
if (hz > 0 && hz < 160)
py += hz;
// else if (hz < -20319 || hz > -10247);
else if (hz <= -10247 && hz >= -20319) {
PinyinCode pc = null;
int i = pinyin.size() - 1;
for (; i >= 0; i--) {
pc = (PinyinCode) pinyin.get(i);
if (pc.code <= hz)
break;
}
if (i >= 0)
py = pc.pinyin;
}
return py;
}
protected static int getCode(char cc) {
byte[] bs = String.valueOf(cc).getBytes();
int code = (bs[0] << 8) | (bs[1] & 0x00FF);
if (bs.length < 2)
code = (int) cc;
bs = null;
return code;
}
static {
pinyin.add(new PinyinCode("a", -20319));
pinyin.add(new PinyinCode("ai", -20317));
pinyin.add(new PinyinCode("an", -20304));
pinyin.add(new PinyinCode("ang", -20295));
pinyin.add(new PinyinCode("ao", -20292));
pinyin.add(new PinyinCode("ba", -20283));
pinyin.add(new PinyinCode("bai", -20265));
pinyin.add(new PinyinCode("ban", -20257));
pinyin.add(new PinyinCode("bang", -20242));
pinyin.add(new PinyinCode("bao", -20230));
pinyin.add(new PinyinCode("bei", -20051));
pinyin.add(new PinyinCode("ben", -20036));
pinyin.add(new PinyinCode("beng", -20032));
pinyin.add(new PinyinCode("bi", -20026));
pinyin.add(new PinyinCode("bian", -20002));
pinyin.add(new PinyinCode("biao", -19990));
pinyin.add(new PinyinCode("bie", -19986));
pinyin.add(new PinyinCode("bin", -19982));
pinyin.add(new PinyinCode("bing", -19976));
pinyin.add(new PinyinCode("bo", -19805));
pinyin.add(new PinyinCode("bu", -19784));
pinyin.add(new PinyinCode("ca", -19775));
pinyin.add(new PinyinCode("cai", -19774));
pinyin.add(new PinyinCode("can", -19763));
pinyin.add(new PinyinCode("cang", -19756));
pinyin.add(new PinyinCode("cao", -19751));
pinyin.add(new PinyinCode("ce", -19746));
pinyin.add(new PinyinCode("ceng", -19741));
pinyin.add(new PinyinCode("cha", -19739));
pinyin.add(new PinyinCode("chai", -19728));
pinyin.add(new PinyinCode("chan", -19725));
pinyin.add(new PinyinCode("chang", -19715));
pinyin.add(new PinyinCode("chao", -19540));
pinyin.add(new PinyinCode("che", -19531));
pinyin.add(new PinyinCode("chen", -19525));
pinyin.add(new PinyinCode("cheng", -19515));
pinyin.add(new PinyinCode("chi", -19500));
pinyin.add(new PinyinCode("chong", -19484));
pinyin.add(new PinyinCode("chou", -19479));
pinyin.add(new PinyinCode("chu", -19467));
pinyin.add(new PinyinCode("chuai", -19289));
pinyin.add(new PinyinCode("chuan", -19288));
pinyin.add(new PinyinCode("chuang", -19281));
pinyin.add(new PinyinCode("chui", -19275));
pinyin.add(new PinyinCode("chun", -19270));
pinyin.add(new PinyinCode("chuo", -19263));
pinyin.add(new PinyinCode("ci", -19261));
pinyin.add(new PinyinCode("cong", -19249));
pinyin.add(new PinyinCode("cou", -19243));
pinyin.add(new PinyinCode("cu", -19242));
pinyin.add(new PinyinCode("cuan", -19238));
pinyin.add(new PinyinCode("cui", -19235));
pinyin.add(new PinyinCode("cun", -19227));
pinyin.add(new PinyinCode("cuo", -19224));
pinyin.add(new PinyinCode("da", -19218));
pinyin.add(new PinyinCode("dai", -19212));
pinyin.add(new PinyinCode("dan", -19038));
pinyin.add(new PinyinCode("dang", -19023));
pinyin.add(new PinyinCode("dao", -19018));
pinyin.add(new PinyinCode("de", -19006));
pinyin.add(new PinyinCode("deng", -19003));
pinyin.add(new PinyinCode("di", -18996));
pinyin.add(new PinyinCode("dian", -18977));
pinyin.add(new PinyinCode("diao", -18961));
pinyin.add(new PinyinCode("die", -18952));
pinyin.add(new PinyinCode("ding", -18783));
pinyin.add(new PinyinCode("diu", -18774));
pinyin.add(new PinyinCode("dong", -18773));
pinyin.add(new PinyinCode("dou", -18763));
pinyin.add(new PinyinCode("du", -18756));
pinyin.add(new PinyinCode("duan", -18741));
pinyin.add(new PinyinCode("dui", -18735));
pinyin.add(new PinyinCode("dun", -18731));
pinyin.add(new PinyinCode("duo", -18722));
pinyin.add(new PinyinCode("e", -18710));
pinyin.add(new PinyinCode("en", -18697));
pinyin.add(new PinyinCode("er", -18696));
pinyin.add(new PinyinCode("fa", -18526));
pinyin.add(new PinyinCode("fan", -18518));
pinyin.add(new PinyinCode("fang", -18501));
pinyin.add(new PinyinCode("fei", -18490));
pinyin.add(new PinyinCode("fen", -18478));
pinyin.add(new PinyinCode("feng", -18463));
pinyin.add(new PinyinCode("fo", -18448));
pinyin.add(new PinyinCode("fou", -18447));
pinyin.add(new PinyinCode("fu", -18446));
pinyin.add(new PinyinCode("ga", -18239));
pinyin.add(new PinyinCode("gai", -18237));
pinyin.add(new PinyinCode("gan", -18231));
pinyin.add(new PinyinCode("gang", -18220));
pinyin.add(new PinyinCode("gao", -18211));
pinyin.add(new PinyinCode("ge", -18201));
pinyin.add(new PinyinCode("gei", -18184));
pinyin.add(new PinyinCode("gen", -18183));
pinyin.add(new PinyinCode("geng", -18181));
pinyin.add(new PinyinCode("gong", -18012));
pinyin.add(new PinyinCode("gou", -17997));
pinyin.add(new PinyinCode("gu", -17988));
pinyin.add(new PinyinCode("gua", -17970));
pinyin.add(new PinyinCode("guai", -17964));
pinyin.add(new PinyinCode("guan", -17961));
pinyin.add(new PinyinCode("guang", -17950));
pinyin.add(new PinyinCode("gui", -17947));
pinyin.add(new PinyinCode("gun", -17931));
pinyin.add(new PinyinCode("guo", -17928));
pinyin.add(new PinyinCode("ha", -17922));
pinyin.add(new PinyinCode("hai", -17759));
pinyin.add(new PinyinCode("han", -17752));
pinyin.add(new PinyinCode("hang", -17733));
pinyin.add(new PinyinCode("hao", -17730));
pinyin.add(new PinyinCode("he", -17721));
pinyin.add(new PinyinCode("hei", -17703));
pinyin.add(new PinyinCode("hen", -17701));
pinyin.add(new PinyinCode("heng", -17697));
pinyin.add(new PinyinCode("hong", -17692));
pinyin.add(new PinyinCode("hou", -17683));
pinyin.add(new PinyinCode("hu", -17676));
pinyin.add(new PinyinCode("hua", -17496));
pinyin.add(new PinyinCode("huai", -17487));
pinyin.add(new PinyinCode("huan", -17482));
pinyin.add(new PinyinCode("huang", -17468));
pinyin.add(new PinyinCode("hui", -17454));
pinyin.add(new PinyinCode("hun", -17433));
pinyin.add(new PinyinCode("huo", -17427));
pinyin.add(new PinyinCode("ji", -17417));
pinyin.add(new PinyinCode("jia", -17202));
相關推薦
java中漢字轉換成拼音首字母
方法一: 最近做的B2B商城的專案,有這樣的一個需求,要求獲取使用者輸入的商品推薦型別漢字轉換成每個漢字的拼音首字母存入資料庫,在網上搜索了下,之看到了返回所有漢字的拼音,我在這裡做了一下修改,程式碼如下: import java.io.Serializable;
excel中把漢字轉換成拼音--首字母
Excel中把漢字轉換成拼音--首字母 1.啟動Excel 2003(其它版本請仿照操作),開啟相應的工作表; 2.執行“工具→巨集→Visual Basic編輯器”命令(或者直接按“Alt+
java漢字轉換為拼音首字母
今天講講如何把中文的漢字轉換為拼音首字母,如"中國"轉換為“zg”,這裡要用到一個開源jar包【pinyin4j】 <span style="font-size:14px;">import net.sourceforge.pinyin4j.PinyinHelp
SQL Server中漢字轉換成拼音
/****** Object: UserDefinedFunction [dbo].[f_GetPinYin] Script Date: 11/01/2018 21:00:46 ******/ SET ANSI_NULLS ON GO SET QUOTED_ID
SQL將用戶表中已存在的數據所有姓名(漢字)轉換為拼音首字母
var 語句 ont htm bold varchar 實現 where into 實現方法: --函數 Create function [dbo].[fn_GetPy](@str nvarchar(4000)) returns nvarchar(4000) --
Java將中文轉換成拼音,用於字母的模糊查詢
/** * 將漢字轉換為拼音 * @author Champion.Wong * */ public class Trans2PinYin { private static int[] pyvalue =
Python漢字轉換成拼音
split() 圖片 git log hub 找到 轉換 res 輸出 轉載自: https://www.cnblogs.com/code123-cc/p/4822886.html 最近在使用Python做項目時,需要將漢字轉化成對應的拼音.在Github上找到了一
Asp.net中漢字轉換成為拼音
.text lec .org ole oai www youdao git program 1.應用場景 將漢字轉換為拼音(eg:"我愛你"———>"WOAINI") 取各個漢字的首字母(eg:"我是中國人"———>"WSZGR") 2.涉及到的組件 組件
把漢字轉換成拼音
// 1.匯入相應的jar包(pinying4j) // 2.寫入相應的程式碼 public class Test { // 返回全拼 public static String getPingYin(String src) { char[] t1 = null;
自定義UDF函式:將漢字轉換成拼音
工作需求要講漢字轉換成拼音,自定義UDF函式import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.f
java將漢字轉換成漢語拼音(pinyin4j.jar的使用及原理)
一、思路介紹 見漢字的unicode碼和漢語拼音對應,這也是pinyin4j的思路 二、pinyin4j介紹 pinyin4j使用了一個.txt的文字檔案(uicode_to_hanyu_pinyin.txt)用來儲存漢字unicode編碼與拼音的對應關係,通過讀取該配置
將中文漢字轉換成拼音(全拼)
using System.Globalization; using System.Text; using System.Text.RegularExpressions; /// <summary> /// 漢字轉拼音類 /// </summary
javascript漢字轉換成拼音
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xm
JAVA實現漢字轉換為拼音 pinyin4j/JPinyin
在專案中經常會遇到需求使用者輸入漢字後轉換為拼音的場景,比如說通訊錄,就會要求按名字首字元發音排序,如果自己寫實現這方面的功能是個很好大的工程,還好網上有公開的第三方jar支援轉換,結合網上很多前輩的程式碼,copy了兩個簡單的工具方法,供參考 第一個是使用pinyin4j
Java將漢字轉換成URL編碼
String abcd = "中文";//或者使用abcd = "\u0061\u4E2D\u6587"; System.out.println(java.net.URLEncoder
javascript漢字轉換成拼音(部分)
<script> var strGB="啊阿埃挨哎唉哀皚癌藹矮艾礙愛隘鞍氨安俺按暗岸胺案骯昂盎凹敖熬翱襖傲奧懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙壩霸罷爸白柏百擺佰敗拜稗斑班搬扳般頒板版扮拌伴瓣半辦絆邦幫梆榜膀綁棒磅蚌鎊傍謗苞胞包褒剝薄雹保堡飽寶抱報暴豹鮑爆杯碑悲
oracle資料庫中漢字轉化成拼音
select FN_GETPY('漢字',1) from dual; --HANZI select FN_GETPY('漢字',2) from dual; --HanZi select FN_GETPY('漢字',3) from dual;--hz select FN_
根據漢字,獲取拼音首字母(轉)
<mce:script language="vbscript"><!-- function vbChr(c) vbChr = chr(c) end function function vbAsc(n) vbAsc = asc(n) end f
.NET 把字串轉換成拼音 c# 和vb 漢字轉換成拼音
目標: 簡單的來說就是把一個字串轉換成拼音字串 漢字轉換成拼音 其他的字元不做變化。 起先 我有一個js版的轉換版本 裡面要用到一個vb的系統函式 Asc() . 為什麼 要用到這個函式呢!我查了好多資料 這個函式能夠準確地返回字元碼。js中沒有該功能的函式,使用者想要使用必
Oracle提取中文字符串拼音首字母函數
oracl code 通過 sort target cti arch clas pinyin 通過oracle的NLSSORT函數對漢字按照拼音排序,然後根據漢字的區間返回對應的首字母。 效果1,獲取拼音簡碼: 效果2,獲取姓名首字母: 創建函數: /*