java写的能将汉字翻译成拼音的类
温柔似野鬼°
503次浏览
2020年07月30日 09:10
最佳经验
本文由作者推荐
剪切强度计算公式-黍稷
("-20319","a");
("-20317","ai");
("-20304","an");
("-20295","ang");
("-20292","ao");
.............
("-10274","zou");
("-10270","zu");
("-10262","zuan");
("-10260","zui");
("-10256","zun");
("-10254","zuo");
("-10247","zz");
}
然后用ASCII代码找对应的拼音,
但是我始终没有看明白,
汉字的ASCII码那么多,它是如何一一对应的呢?
例如“破”和“坡”字,拼音都是PO,但是
坡 = -14654
破 = -14650
两个字的ASCII代码不同,而且那个哈西表里,只有
("-14654","po");
这一句,但是两个字,都可以翻译成拼音。
这个是为什么呢?附上我找到的一个例子。
<%@ page language="java" import=".*" contentType="text/html" %>
<%!
Hashtable ht=new Hashtable(10);
String g(Integer n){
int num=ue();
if(num>0&&num<160){
return f((char)num);
}
else if(num<-20319||num>-10247){
return "";
}
else{
if(()==0){
b();
}
while(!nsKey(ng(num)))
num--;
return (ng(num)).toString();
}
}
String c(String str){
char[] hz=Array();
int len=();
int p,q;
String ret="";
for(int i=0;i
if(p>160){
q=(int)hz[++i];
p=p*256+q-65536;
}
ret+=g(new Integer(p));
}
return ret;
}
void b(){
("-20319","a");
("-20317","ai");
("-20304","an");
("-20295","ang");
("-20292","ao");
("-20283","ba");
("-20265","bai");
("-20257","ban");
("-20242","bang");
("-20230","bao");
("-20051","bei");
("-20036","ben");
("-20032","beng");
("-20026","bi");
("-20002","bian");
("-19990","biao");
("-19986","bie");
("-19982","bin");
("-19976","bing");
("-19805","bo");
("-19784","bu");
("-19775","ca");
("-19774","cai");
("-19763","can");
("-19756","cang");
("-19751","cao");
("-19746","ce");
("-19741","ceng");
("-19739","cha");
("-19728","chai");
("-19725","chan");
("-19715","chang");
("-19540","chao");
("-19531","che");
("-19525","chen");
("-19515","cheng");
("-19500","chi");
("-19484","chong");
("-19479","chou");
("-19467","chu");
("-19289","chuai");
("-19288","chuan");
("-19281","chuang");
("-19275","chui");
("-19270","chun");
("-19263","chuo");
("-19261","ci");
("-19249","cong");
("-19243","cou");
("-19242","cu");
("-19238","cuan");
("-19235","cui");
("-19227","cun");
("-19224","cuo");
("-19218","da");
("-19212","dai");
("-19038","dan");
("-19023","dang");
("-19018","dao");
("-19006","de");
("-19003","deng");
ht.
put("-18996","di");
("-18977","dian");
("-18961","diao");
("-18952","die");
("-18783","ding");
("-18774","diu");
("-18773","dong");
("-18763","dou");
("-18756","du");
("-18741","duan");
("-18735","dui");
("-18731","dun");
("-18722","duo");
("-18710","e");
("-18697","en");
("-18696","er");
("-18526","fa");
("-18518","fan");
("-18501","fang");
("-18490","fei");
("-18478","fen");
("-18463","feng");
("-18448","fo");
("-18447","fou");
("-18446","fu");
("-18239","ga");
("-18237","gai");
("-18231","gan");
("-18220","gang");
("-18211","gao");
("-18201","ge");
("-18184","gei");
("-18183","gen");
("-18181","geng");
("-18012","gong");
("-17997","gou");
("-17988","gu");
("-17970","gua");
("-17964","guai");
("-17961","guan");
("-17950","guang");
("-17947","gui");
("-17931","gun");
("-17928","guo");
("-17922","ha");
("-17759","hai");
("-17752","han");
("-17733","hang");
("-17730","hao");
("-17721","he");
("-17703","hei");
("-17701","hen");
("-17697","heng");
("-17692","hong");
("-17683","hou");
("-17676","hu");
("-17496","hua");
("-17487","huai");
("-17482","huan");
("-17468","huang");
("-17454","hui");
("-17433","hun");
("-17427","huo");
("-17417","ji");
("-17202","jia");
("-17185","jian");
("-16983","jiang");
("-16970","jiao");
("-16942","jie");
("-16915","jin");
("-16733","jing");
("-16708","jiong");
("-16706","jiu");
("-16689","ju");
("-16664","juan");
("-16657","jue");
("-16647","jun");
("-16474","ka");
("-16470","kai");
("-16465","kan");
("-16459","kang");
("-16452","kao");
("-16448","ke");
("-16433","ken");
("-16429","keng");
("-16427","kong");
("-16423","kou");
("-16419","ku");
("-16412","kua");
("-16407","kuai");
("-16403","kuan");
("-16401","kuang");
("-16393","kui");
("-16220","kun");
("-16216","kuo");
("-16212","la");
("-16205","lai");
("-16202","lan");
("-16187","lang");
("-16180","lao");
("-16171","le");
("-16169","lei");
("-16158","leng");
("-16155","li");
("-15959","lia");
("-15958","lian");
("-15944","liang");
("-15933","liao");
("-15920","lie");
("-15915","lin");
("-15903","ling");
("-15889","liu");
("-15878","long");
("-15707","lou");
("-15701","lu");
("-15681","lv");
("-15667","luan");
("-15661","lue");
("-15659","lun");
("
-15652","luo");
("-15640","ma");
("-15631","mai");
("-15625","man");
("-15454","mang");
("-15448","mao");
("-15436","me");
("-15435","mei");
("-15419","men");
("-15416","meng");
("-15408","mi");
("-15394","mian");
("-15385","miao");
("-15377","mie");
("-15375","min");
("-15369","ming");
("-15363","miu");
("-15362","mo");
("-15183","mou");
("-15180","mu");
("-15165","na");
("-15158","nai");
("-15153","nan");
("-15150","nang");
("-15149","nao");
("-15144","ne");
("-15143","nei");
("-15141","nen");
("-15140","neng");
("-15139","ni");
("-15128","nian");
("-15121","niang");
("-15119","niao");
("-15117","nie");
("-15110","nin");
("-15109","ning");
("-14941","niu");
("-14937","nong");
("-14933","nu");
("-14930","nv");
("-14929","nuan");
("-14928","nue");
("-14926","nuo");
("-14922","o");
("-14921","ou");
("-14914","pa");
("-14908","pai");
("-14902","pan");
("-14894","pang");
("-14889","pao");
("-14882","pei");
("-14873","pen");
("-14871","peng");
("-14857","pi");
("-14678","pian");
("-14674","piao");
("-14670","pie");
("-14668","pin");
("-14663","ping");
("-14654","po");
("-14645","pu");
("-14630","qi");
("-14594","qia");
("-14429","qian");
("-14407","qiang");
("-14399","qiao");
("-9500","qiao");
("-14384","qie");
("-14379","qin");
("-14368","qing");
("-14355","qiong");
("-14353","qiu");
("-14345","qu");
("-14170","quan");
("-14159","que");
("-14151","qun");
("-14149","ran");
("-14145","rang");
("-14140","rao");
("-14137","re");
("-14135","ren");
("-14125","reng");
("-14123","ri");
("-14122","rong");
("-14112","rou");
("-14109","ru");
("-14099","ruan");
("-14097","rui");
("-14094","run");
("-14092","ruo");
("-14090","sa");
("-14087","sai");
("-14083","san");
("-13917","sang");
("-13914","sao");
("-13910","se");
("-13907","sen");
("-13906","seng");
("-13905","sha");
("-13896","shai");
("-13894","shan");
("-13878","shang");
("-13870","shao");
("-13859","she");
("-13847","shen");
("-13831","sheng");
("-13658","shi");
("-13611","shou");
("-13601","shu");
("-13406","shua");
("-13404","shuai");
("-13400","shuan");
("-13398","shuang");
("-13395","shui");
("-13391","shun");
("-13387","shuo");
("-13383","si");
("-13367","song");
("-13359","sou");
ht.p
ut("-13356","su");
("-13343","suan");
("-13340","sui");
("-13329","sun");
("-13326","suo");
("-13318","ta");
("-13147","tai");
("-13138","tan");
("-13120","tang");
("-13107","tao");
("-13096","te");
("-13095","teng");
("-13091","ti");
("-13076","tian");
("-13068","tiao");
("-13063","tie");
("-13060","ting");
("-12888","tong");
("-12875","tou");
("-12871","tu");
("-12860","tuan");
("-12858","tui");
("-12852","tun");
("-12849","tuo");
("-12838","wa");
("-12831","wai");
("-12829","wan");
("-12812","wang");
("-12802","wei");
("-12607","wen");
("-12597","weng");
("-12594","wo");
("-12585","wu");
("-12556","xi");
("-12359","xia");
("-12346","xian");
("-12320","xiang");
("-12300","xiao");
("-12120","xie");
("-12099","xin");
("-12089","xing");
("-12074","xiong");
("-12067","xiu");
("-12058","xu");
("-12039","xuan");
("-11867","xue");
("-11861","xun");
("-11847","ya");
("-11831","yan");
("-11798","yang");
("-11781","yao");
("-11604","ye");
("-11589","yi");
("-11536","yin");
("-11358","ying");
("-11340","yo");
("-11339","yong");
("-11324","you");
("-11303","yu");
("-11097","yuan");
("-11077","yue");
("-11067","yun");
("-11055","za");
("-11052","zai");
("-11045","zan");
("-11041","zang");
("-11038","zao");
("-11024","ze");
("-11020","zei");
("-11019","zen");
("-11018","zeng");
("-11014","zha");
("-10838","zhai");
("-10832","zhan");
("-10815","zhang");
("-10800","zhao");
("-10790","zhe");
("-10780","zhen");
("-10764","zheng");
("-10587","zhi");
("-10544","zhong");
("-10533","zhou");
("-10519","zhu");
("-10331","zhua");
("-10329","zhuai");
("-10328","zhuan");
("-10322","zhuang");
("-10315","zhui");
("-10309","zhun");
("-10307","zhuo");
("-10296","zi");
("-10281","zong");
("-10274","zou");
("-10270","zu");
("-10262","zuan");
("-10260","zui");
("-10256","zun");
("-10254","zuo");
("-10247","zz");
}
%>
<%
if(ameter("hz")!=null)
{
n(c(ameter("hz")));
}
%>
--------------------------------------------------------------------------------
t
[代码]java写的能将汉字翻译成拼音的类
[ 2006-9-28 15:03:54 | By: 玻璃杯中的花生壳 ]
import ortedEncodingException;
/**
* 取得给定汉字串的首字母串,即声母
串
*
Title: ChineseCharToEn
*
@author javer QQ:84831612
* @version 1.0
* @date 2004-02-19
* 注:只支持GB2312字符集中的汉字
*/
public final class ChineseCharToEn
{
private final static int[] li_SecPosValue =
{
1601, 1637, 1833, 2078, 2274, 2302, 2433, 2594, 2787, 3106, 3212, 3472,
3635, 3722, 3730, 3858, 4027, 4086, 4390, 4558, 4684, 4925, 5249, 5590
};
private final static String[] lc_FirstLetter =
{
"a", "b", "c", "d", "e", "f", "g", "h", "j", "k", "l", "m", "n", "o", "p",
"q", "r", "s", "t", "w", "x", "y", "z"
};
/**
* 取得给定汉字串的首字母串,即声母串
* @param str 给定汉字串
* @return 声母串
*/
public String getAllFirstLetter(String str)
{
if (str == null || ().length() == 0)
{
return "";
}
String _str = "";
for (int i = 0; i < (); i++)
{
_str = _str + stLetter(ing(i, i + 1));
}
return _str;
}
/**
* 取得给定汉字的首字母,即声母
* @param chinese 给定的汉字
* @return 给定汉字的声母
*/
public String getFirstLetter(String chinese)
{
if (chinese == null || ().length() == 0)
{
return "";
}
chinese = sionStr(chinese, "GB2312", "ISO8859-1");
if (() > 1) //判断是不是汉字
{
int li_SectorCode = (int) (0); //汉字区码
int li_PositionCode = (int) (1); //汉字位码
li_SectorCode = li_SectorCode - 160;
li_PositionCode = li_PositionCode - 160;
int li_SecPosCode = li_SectorCode * 100 + li_PositionCode; //汉字区位码
if (li_SecPosCode > 1600 && li_SecPosCode < 5590)
{
for (int i = 0; i < 23; i++)
{
if (li_SecPosCode >= li_SecPosValue[i] &&
li_SecPosCode < li_SecPosValue[i + 1])
{
chinese = lc_FirstLetter[i];
break;
}
}
}
else //非汉字字符,如图形符号或ASCII码
{
chinese = sionStr(chinese, "ISO8859-1", "GB2312");
chinese = ing(0,1);
}
}
return chinese;
}
/**
* 字符串编码转换
* @param str 要转换编码的字符串
* @param charsetName 原来的编码
* @param toCharsetName 转换后的编码
* @return 经过编码转换后的字符串
*/
private String conversionStr(String str, String charsetName,String toCharsetName)
{
try
{
str = new String(es(charsetName), toCharsetName);
}
catch (UnsupportedEncodingException ex)
{
n("字符串编码转换异常:" + sage());
}
return str;
}
}
package
import eCharToEn;
/**
* 测试程序
*
Title: JaverTest
* @author javer QQ:84831612
*/
public class JaverTest
{
public static void main(String[] args)
{
ChineseCharToEn cte = new ChineseCharToEn();
n(""夜未眠"的首个拼音字母是:" + stLetter("夜未眠"));
n(""Javer夜未眠"的首个拼音字母是:" + stLetter("Javer夜未眠"));
n(""Javer
夜未眠"的全部字母的拼音字母是:" + FirstLetter("Javer夜未眠"));
}
}