<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    love fish大鵬一曰同風起,扶搖直上九萬里

    常用鏈接

    統計

    積分與排名

    friends

    link

    最新評論

    通過漢字取得拼音Java版(轉)

    現在想到的方法有兩種:
    1,取得的漢字拼音對照表,然後做成map.一個GB2312的對照表見這里:
    http://zh.transwiki.org/wiki/index.php/GB2312%E6%B1%89%E5%AD%97%E6%8B%BC%E9%9F%B3%E5%AF%B9%E7%85%A7%E8%A1%A8
    2,這個方法看起來好,效果一般;
    ??1????private?static?int[]?pyvalue?=?new?int[]?{?-20319,?-20317,?-20304,?-20295,
    ??2????????????-20292,?-20283,?-20265,?-20257,?-20242,?-20230,?-20051,?-20036,
    ??3????????????-20032,?-20026,?-20002,?-19990,?-19986,?-19982,?-19976,?-19805,
    ??4????????????-19784,?-19775,?-19774,?-19763,?-19756,?-19751,?-19746,?-19741,
    ??5????????????-19739,?-19728,?-19725,?-19715,?-19540,?-19531,?-19525,?-19515,
    ??6????????????-19500,?-19484,?-19479,?-19467,?-19289,?-19288,?-19281,?-19275,
    ??7????????????-19270,?-19263,?-19261,?-19249,?-19243,?-19242,?-19238,?-19235,
    ??8????????????-19227,?-19224,?-19218,?-19212,?-19038,?-19023,?-19018,?-19006,
    ??9????????????-19003,?-18996,?-18977,?-18961,?-18952,?-18783,?-18774,?-18773,
    ?10????????????-18763,?-18756,?-18741,?-18735,?-18731,?-18722,?-18710,?-18697,
    ?11????????????-18696,?-18526,?-18518,?-18501,?-18490,?-18478,?-18463,?-18448,
    ?12????????????-18447,?-18446,?-18239,?-18237,?-18231,?-18220,?-18211,?-18201,
    ?13????????????-18184,?-18183,?-18181,?-18012,?-17997,?-17988,?-17970,?-17964,
    ?14????????????-17961,?-17950,?-17947,?-17931,?-17928,?-17922,?-17759,?-17752,
    ?15????????????-17733,?-17730,?-17721,?-17703,?-17701,?-17697,?-17692,?-17683,
    ?16????????????-17676,?-17496,?-17487,?-17482,?-17468,?-17454,?-17433,?-17427,
    ?17????????????-17417,?-17202,?-17185,?-16983,?-16970,?-16942,?-16915,?-16733,
    ?18????????????-16708,?-16706,?-16689,?-16664,?-16657,?-16647,?-16474,?-16470,
    ?19????????????-16465,?-16459,?-16452,?-16448,?-16433,?-16429,?-16427,?-16423,
    ?20????????????-16419,?-16412,?-16407,?-16403,?-16401,?-16393,?-16220,?-16216,
    ?21????????????-16212,?-16205,?-16202,?-16187,?-16180,?-16171,?-16169,?-16158,
    ?22????????????-16155,?-15959,?-15958,?-15944,?-15933,?-15920,?-15915,?-15903,
    ?23????????????-15889,?-15878,?-15707,?-15701,?-15681,?-15667,?-15661,?-15659,
    ?24????????????-15652,?-15640,?-15631,?-15625,?-15454,?-15448,?-15436,?-15435,
    ?25????????????-15419,?-15416,?-15408,?-15394,?-15385,?-15377,?-15375,?-15369,
    ?26????????????-15363,?-15362,?-15183,?-15180,?-15165,?-15158,?-15153,?-15150,
    ?27????????????-15149,?-15144,?-15143,?-15141,?-15140,?-15139,?-15128,?-15121,
    ?28????????????-15119,?-15117,?-15110,?-15109,?-14941,?-14937,?-14933,?-14930,
    ?29????????????-14929,?-14928,?-14926,?-14922,?-14921,?-14914,?-14908,?-14902,
    ?30????????????-14894,?-14889,?-14882,?-14873,?-14871,?-14857,?-14678,?-14674,
    ?31????????????-14670,?-14668,?-14663,?-14654,?-14645,?-14630,?-14594,?-14429,
    ?32????????????-14407,?-14399,?-14384,?-14379,?-14368,?-14355,?-14353,?-14345,
    ?33????????????-14170,?-14159,?-14151,?-14149,?-14145,?-14140,?-14137,?-14135,
    ?34????????????-14125,?-14123,?-14122,?-14112,?-14109,?-14099,?-14097,?-14094,
    ?35????????????-14092,?-14090,?-14087,?-14083,?-13917,?-13914,?-13910,?-13907,
    ?36????????????-13906,?-13905,?-13896,?-13894,?-13878,?-13870,?-13859,?-13847,
    ?37????????????-13831,?-13658,?-13611,?-13601,?-13406,?-13404,?-13400,?-13398,
    ?38????????????-13395,?-13391,?-13387,?-13383,?-13367,?-13359,?-13356,?-13343,
    ?39????????????-13340,?-13329,?-13326,?-13318,?-13147,?-13138,?-13120,?-13107,
    ?40????????????-13096,?-13095,?-13091,?-13076,?-13068,?-13063,?-13060,?-12888,
    ?41????????????-12875,?-12871,?-12860,?-12858,?-12852,?-12849,?-12838,?-12831,
    ?42????????????-12829,?-12812,?-12802,?-12607,?-12597,?-12594,?-12585,?-12556,
    ?43????????????-12359,?-12346,?-12320,?-12300,?-12120,?-12099,?-12089,?-12074,
    ?44????????????-12067,?-12058,?-12039,?-11867,?-11861,?-11847,?-11831,?-11798,
    ?45????????????-11781,?-11604,?-11589,?-11536,?-11358,?-11340,?-11339,?-11324,
    ?46????????????-11303,?-11097,?-11077,?-11067,?-11055,?-11052,?-11045,?-11041,
    ?47????????????-11038,?-11024,?-11020,?-11019,?-11018,?-11014,?-10838,?-10832,
    ?48????????????-10815,?-10800,?-10790,?-10780,?-10764,?-10587,?-10544,?-10533,
    ?49????????????-10519,?-10331,?-10329,?-10328,?-10322,?-10315,?-10309,?-10307,
    ?50????????????-10296,?-10281,?-10274,?-10270,?-10262,?-10260,?-10256,?-10254?}
    ;
    ?51
    ?52????private?static?String[]?pystr?=?new?String[]?{?"a",?"ai",?"an",?"ang",
    ?53????????????"ao",?"ba",?"bai",?"ban",?"bang",?"bao",?"bei",?"ben",?"beng",
    ?54????????????"bi",?"bian",?"biao",?"bie",?"bin",?"bing",?"bo",?"bu",?"ca",
    ?55????????????"cai",?"can",?"cang",?"cao",?"ce",?"ceng",?"cha",?"chai",?"chan",
    ?56????????????"chang",?"chao",?"che",?"chen",?"cheng",?"chi",?"chong",?"chou",
    ?57????????????"chu",?"chuai",?"chuan",?"chuang",?"chui",?"chun",?"chuo",?"ci",
    ?58????????????"cong",?"cou",?"cu",?"cuan",?"cui",?"cun",?"cuo",?"da",?"dai",
    ?59????????????"dan",?"dang",?"dao",?"de",?"deng",?"di",?"dian",?"diao",?"die",
    ?60????????????"ding",?"diu",?"dong",?"dou",?"du",?"duan",?"dui",?"dun",?"duo",
    ?61????????????"e",?"en",?"er",?"fa",?"fan",?"fang",?"fei",?"fen",?"feng",?"fo",
    ?62????????????"fou",?"fu",?"ga",?"gai",?"gan",?"gang",?"gao",?"ge",?"gei",?"gen",
    ?63????????????"geng",?"gong",?"gou",?"gu",?"gua",?"guai",?"guan",?"guang",?"gui",
    ?64????????????"gun",?"guo",?"ha",?"hai",?"han",?"hang",?"hao",?"he",?"hei",
    ?65????????????"hen",?"heng",?"hong",?"hou",?"hu",?"hua",?"huai",?"huan",?"huang",
    ?66????????????"hui",?"hun",?"huo",?"ji",?"jia",?"jian",?"jiang",?"jiao",?"jie",
    ?67????????????"jin",?"jing",?"jiong",?"jiu",?"ju",?"juan",?"jue",?"jun",?"ka",
    ?68????????????"kai",?"kan",?"kang",?"kao",?"ke",?"ken",?"keng",?"kong",?"kou",
    ?69????????????"ku",?"kua",?"kuai",?"kuan",?"kuang",?"kui",?"kun",?"kuo",?"la",
    ?70????????????"lai",?"lan",?"lang",?"lao",?"le",?"lei",?"leng",?"li",?"lia",
    ?71????????????"lian",?"liang",?"liao",?"lie",?"lin",?"ling",?"liu",?"long",
    ?72????????????"lou",?"lu",?"lv",?"luan",?"lue",?"lun",?"luo",?"ma",?"mai",?"man",
    ?73????????????"mang",?"mao",?"me",?"mei",?"men",?"meng",?"mi",?"mian",?"miao",
    ?74????????????"mie",?"min",?"ming",?"miu",?"mo",?"mou",?"mu",?"na",?"nai",?"nan",
    ?75????????????"nang",?"nao",?"ne",?"nei",?"nen",?"neng",?"ni",?"nian",?"niang",
    ?76????????????"niao",?"nie",?"nin",?"ning",?"niu",?"nong",?"nu",?"nv",?"nuan",
    ?77????????????"nue",?"nuo",?"o",?"ou",?"pa",?"pai",?"pan",?"pang",?"pao",?"pei",
    ?78????????????"pen",?"peng",?"pi",?"pian",?"piao",?"pie",?"pin",?"ping",?"po",
    ?79????????????"pu",?"qi",?"qia",?"qian",?"qiang",?"qiao",?"qie",?"qin",?"qing",
    ?80????????????"qiong",?"qiu",?"qu",?"quan",?"que",?"qun",?"ran",?"rang",?"rao",
    ?81????????????"re",?"ren",?"reng",?"ri",?"rong",?"rou",?"ru",?"ruan",?"rui",
    ?82????????????"run",?"ruo",?"sa",?"sai",?"san",?"sang",?"sao",?"se",?"sen",
    ?83????????????"seng",?"sha",?"shai",?"shan",?"shang",?"shao",?"she",?"shen",
    ?84????????????"sheng",?"shi",?"shou",?"shu",?"shua",?"shuai",?"shuan",?"shuang",
    ?85????????????"shui",?"shun",?"shuo",?"si",?"song",?"sou",?"su",?"suan",?"sui",
    ?86????????????"sun",?"suo",?"ta",?"tai",?"tan",?"tang",?"tao",?"te",?"teng",
    ?87????????????"ti",?"tian",?"tiao",?"tie",?"ting",?"tong",?"tou",?"tu",?"tuan",
    ?88????????????"tui",?"tun",?"tuo",?"wa",?"wai",?"wan",?"wang",?"wei",?"wen",
    ?89????????????"weng",?"wo",?"wu",?"xi",?"xia",?"xian",?"xiang",?"xiao",?"xie",
    ?90????????????"xin",?"xing",?"xiong",?"xiu",?"xu",?"xuan",?"xue",?"xun",?"ya",
    ?91????????????"yan",?"yang",?"yao",?"ye",?"yi",?"yin",?"ying",?"yo",?"yong",
    ?92????????????"you",?"yu",?"yuan",?"yue",?"yun",?"za",?"zai",?"zan",?"zang",
    ?93????????????"zao",?"ze",?"zei",?"zen",?"zeng",?"zha",?"zhai",?"zhan",?"zhang",
    ?94????????????"zhao",?"zhe",?"zhen",?"zheng",?"zhi",?"zhong",?"zhou",?"zhu",
    ?95????????????"zhua",?"zhuai",?"zhuan",?"zhuang",?"zhui",?"zhun",?"zhuo",?"zi",
    ?96????????????"zong",?"zou",?"zu",?"zuan",?"zui",?"zun",?"zuo"?}
    ;
    ?97
    ?98????public?static?int?getChsAscii(String?chs)?{
    ?99????????int?asc?=?0;
    100????????try?{
    101????????????byte[]?bytes?=?chs.getBytes("gb2312");
    102????????????if?(bytes?==?null?||?bytes.length?>?2?||?bytes.length?<=?0)?{?//?錯誤
    103????????????????//?log
    104????????????????System.out.println("error");
    105????????????}

    106????????????if?(bytes.length?==?1)?{?//?英文字符
    107????????????????asc?=?bytes[0];
    108????????????}

    109????????????if?(bytes.length?==?2)?{?//?中文字符
    110????????????//?System.out.println(bytes[0]);
    111????????????//?System.out.println(bytes[1]);
    112????????????????int?hightByte?=?256?+?bytes[0];
    113????????????????int?lowByte?=?256?+?bytes[1];
    114????????????????asc?=?(256?*?hightByte?+?lowByte)?-?256?*?256;
    115????????????}

    116????????}
    ?catch?(Exception?e)?{
    117????????????e.printStackTrace();
    118????????}

    119????????return?asc;
    120????}

    121
    122????public?static?String?convert(String?str)?{
    123????????String?result?=?null;
    124????????int?ascii?=?getChsAscii(str);
    125//????????System.out.println(ascii);
    126????????if?(ascii?>?0?&&?ascii?<?160)?{
    127????????????result?=?String.valueOf((char)?ascii);
    128????????}
    ?else?{
    129????????????for?(int?i?=?(pyvalue.length?-?1);?i?>=?0;?i--)?{
    130????????????????if?(pyvalue[i]?<=?ascii)?{
    131????????????????????result?=?pystr[i];
    132????????????????????break;
    133????????????????}

    134????????????}

    135????????}

    136????????return?result;
    137????}

    138????public?static?String?getPy1(String?chs)?{
    139????????StringBuffer?py?=?new?StringBuffer();
    140????????String?key,?value;
    141????????for?(int?i?=?0;?i?<?chs.length();?i++)?{
    142????????????key?=?chs.substring(i,?i?+?1);
    143????????????if?(key.getBytes().length?==?2)?{
    144????????????????value?=?(String)?convert(key);
    145????????????????if?(value?==?null)?{
    146????????????????????value?=?"unknown";
    147????????????????}

    148????????????}
    ?else?{
    149????????????????value?=?key;
    150????????????}

    151
    152????????????py.append(value);
    153????????}

    154????????return?py.toString();
    155????}





    #?re: 通過漢字取得拼音Java版 2007-01-05 10:34 yerba

    第二種方法,取不到一些特殊漢字,比如常用的"琪",就取成了“zuo”不知道是不是你得數據的問題。
    另外,你的兩種方法都不能做到多音字的識別。要做到多音字的識別,我的方法是用微軟拼音輸入法字庫導出來,里面包括了所有的讀音。??回復??更多評論??

    #?re: 通過漢字取得拼音Java版 2007-01-05 11:15 Ivan Chen

    試試pinyin4j:http://pinyin4j.sf.net/
    很不錯。??回復??更多評論??

    #?re: 通過漢字取得拼音Java版 2007-01-05 12:22 junmy[匿名]

    這里一個.net版本的
    see: http://www.cnblogs.com/jillzhang/archive/2006/10/30/544596.html??回復??更多評論??

    #?re: 通過漢字取得拼音Java版 2007-01-05 16:11 Alex

    不錯,可以參考??回復??更多評論??

    #?re: 通過漢字取得拼音Java版 2007-01-05 22:21 blackbat

    第1種方法是不是全部漢字都可以去到???回復??更多評論??

    #?re: 通過漢字取得拼音Java版 2007-01-07 14:52 slx

    是否能全部取到要看你的字庫有多全??回復??更多評論??

    #?re: 通過漢字取得拼音Java版 2007-01-10 10:00 jyb

    從微軟拼音中導出來的比較全,應該是gbk吧。對于多音字,我想還得看實際情況來處理,如果讓你把一個人的中文姓名、地名轉換為拼音,總不能把多音字的全部讀音對轉換過來吧。重慶--chongqing,重慶--chongzhongqing???回復??更多評論??

    #?re: 通過漢字取得拼音Java版[未登錄]2007-01-19 10:08 Leon

    不錯,大有用處。??回復??更多評論??

    posted on 2007-02-26 09:36 liaojiyong 閱讀(952) 評論(0)  編輯  收藏 所屬分類: Java

    主站蜘蛛池模板: 久久99国产亚洲精品观看| 国产成人人综合亚洲欧美丁香花 | 又黄又爽一线毛片免费观看| 91麻豆国产免费观看| 羞羞视频免费网站日本| 国产精品亚洲一区二区麻豆| 亚洲日本在线观看| 亚洲综合av永久无码精品一区二区 | 亚洲免费福利在线视频| 中文在线日本免费永久18近| 婷婷亚洲综合一区二区| 亚洲一区二区三区免费在线观看| 亚洲成人免费在线| 亚洲欧洲无码AV电影在线观看 | 亚洲av无码国产综合专区| 久热综合在线亚洲精品| 亚洲午夜久久久久久久久久| 免费乱理伦在线播放| 韩国免费三片在线视频| 精品国产免费观看| 成年大片免费视频| 九九九精品成人免费视频| 免费精品国偷自产在线在线 | 亚洲视频人成在线播放| 国产一区二区视频免费| 日本不卡在线观看免费v| 在线免费不卡视频| 在线播放免费播放av片| 最近最新中文字幕完整版免费高清| 成人浮力影院免费看| 中文字幕无码播放免费| 1024免费福利永久观看网站| 国产精品免费观看| 麻豆最新国产剧情AV原创免费 | 一区二区亚洲精品精华液| 亚洲国产乱码最新视频| 亚洲AV无码资源在线观看| 亚洲AV永久无码天堂影院 | 免费很黄很色裸乳在线观看| 又大又黄又粗又爽的免费视频| 免费va人成视频网站全|