`
v5browser
  • 浏览: 1134718 次
社区版块
存档分类
最新评论

android,两个汉字转拼音工具!

 
阅读更多


1. 在2.3以下的版本使用(包括2.3)


package com.lectek.android.base.util;

/**
 * Copyright (C) 2009 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.text.Collator;
import java.util.ArrayList;
import java.util.Locale;

import android.text.TextUtils;

/***
 * An object to convert Chinese character to its corresponding pinyin string.
 * For characters with multiple possible pinyin string, only one is selected
 * according to collator. Polyphone is not supported in this implementation.
 * This class is implemented to achieve the best runtime performance and minimum
 * runtime resources with tolerable sacrifice of accuracy. This implementation
 * highly depends on zh_CN ICU collation data and must be always synchronized with
 * ICU.
 */
public class HanziToPinyin {
//    private static final String TAG = "HanziToPinyin";

    private static final char[] UNIHANS = {
            '\u5416', '\u54ce', '\u5b89', '\u80ae', '\u51f9', '\u516b', '\u63b0', '\u6273',
            '\u90a6', '\u52f9', '\u9642', '\u5954', '\u4f3b', '\u7680', '\u782d', '\u706c',
            '\u618b', '\u6c43', '\u51ab', '\u7676', '\u5cec', '\u5693', '\u5072', '\u53c2',
            '\u4ed3', '\u64a1', '\u518a', '\u5d7e', '\u564c', '\u6260', '\u62c6', '\u8fbf',
            '\u4f25', '\u6284', '\u8f66', '\u62bb', '\u9637', '\u5403', '\u5145', '\u62bd',
            '\u51fa', '\u640b', '\u5ddb', '\u5205', '\u5439', '\u65fe', '\u8e14', '\u5472',
            '\u4ece', '\u51d1', '\u7c97', '\u6c46', '\u5d14', '\u90a8', '\u6413', '\u5491',
            '\u5446', '\u4e39', '\u5f53', '\u5200', '\u6074', '\u6265', '\u706f', '\u4efe',
            '\u55f2', '\u6541', '\u5201', '\u7239', '\u4e01', '\u4e1f', '\u4e1c', '\u543a',
            '\u5262', '\u8011', '\u5796', '\u5428', '\u591a', '\u59b8', '\u5940', '\u97a5',
            '\u800c', '\u53d1', '\u5e06', '\u531a', '\u98de', '\u5206', '\u4e30', '\u8985',
            '\u4ecf', '\u57ba', '\u7d11', '\u592b', '\u7324', '\u65ee', '\u4f85', '\u5e72',
            '\u5188', '\u768b', '\u6208', '\u7ed9', '\u6839', '\u63ef', '\u55bc', '\u55f0',
            '\u5de5', '\u52fe', '\u4f30', '\u9e39', '\u4e56', '\u5173', '\u5149', '\u5f52',
            '\u4e28', '\u8b34', '\u5459', '\u598e', '\u548d', '\u4f44', '\u592f', '\u8320',
            '\u8bc3', '\u9ed2', '\u62eb', '\u4ea8', '\u53ff', '\u9f41', '\u4e4e', '\u82b1',
            '\u6000', '\u6b22', '\u5ddf', '\u7070', '\u660f', '\u5419', '\u4e0c', '\u52a0',
            '\u620b', '\u6c5f', '\u827d', '\u9636', '\u5dfe', '\u5755', '\u5182', '\u4e29',
            '\u51e5', '\u59e2', '\u5658', '\u519b', '\u5494', '\u5f00', '\u938e', '\u5ffc',
            '\u5c3b', '\u533c', '\u808e', '\u52a5', '\u7a7a', '\u62a0', '\u625d', '\u5938',
            '\u84af', '\u5bbd', '\u5321', '\u4e8f', '\u5764', '\u6269', '\u62c9', '\u4f86',
            '\u5170', '\u5577', '\u635e', '\u4ec2', '\u96f7', '\u8137', '\u68f1', '\u695e',
            '\u550e', '\u4fe9', '\u5afe', '\u826f', '\u8e7d', '\u57d3', '\u53b8', '\u62ce',
            '\u6e9c', '\u9f99', '\u5a04', '\u565c', '\u5b6a', '\u62a1', '\u9831', '\u5988',
            '\u57cb', '\u989f', '\u7264', '\u732b', '\u5445', '\u95e8', '\u6c13', '\u54aa',
            '\u5b80', '\u55b5', '\u4e5c', '\u6c11', '\u540d', '\u8c2c', '\u6478', '\u725f',
            '\u6bcd', '\u62cf', '\u8149', '\u56e1', '\u56d4', '\u5b6c', '\u8bb7', '\u5a1e',
            '\u5ae9', '\u80fd', '\u92b0', '\u62c8', '\u5a18', '\u9e1f', '\u634f', '\u56dc',
            '\u5b81', '\u599e', '\u519c', '\u7fba', '\u5974', '\u597b', '\u9ec1', '\u90cd',
            '\u5662', '\u8bb4', '\u5991', '\u62cd', '\u7705', '\u6c78', '\u629b', '\u5478',
            '\u55b7', '\u5309', '\u4e76', '\u7247', '\u527d', '\u6c15', '\u59d8', '\u4e52',
            '\u948b', '\u5256', '\u4ec6', '\u4e03', '\u6390', '\u5343', '\u545b', '\u6084',
            '\u5207', '\u4eb2', '\u9751', '\u5b86', '\u74d7', '\u533a', '\u5cd1', '\u7094',
            '\u590b', '\u5465', '\u7a63', '\u835b', '\u60f9', '\u4eba', '\u6254', '\u65e5',
            '\u620e', '\u53b9', '\u909a', '\u5827', '\u6875', '\u95f0', '\u633c', '\u4ee8',
            '\u6be2', '\u4e09', '\u6852', '\u63bb', '\u8272', '\u68ee', '\u50e7', '\u6740',
            '\u7b5b', '\u5c71', '\u4f24', '\u5f30', '\u5962', '\u7533', '\u5347', '\u5c38',
            '\u53ce', '\u4e66', '\u5237', '\u8870', '\u95e9', '\u53cc', '\u8c01', '\u542e',
            '\u8bf4', '\u53b6', '\u5fea', '\u51c1', '\u82cf', '\u72fb', '\u590a', '\u5b59',
            '\u5506', '\u4ed6', '\u5b61', '\u574d', '\u6c64', '\u5932', '\u5fd1', '\u81af',
            '\u5254', '\u5929', '\u65eb', '\u6017', '\u5385', '\u70b5', '\u5077', '\u51f8',
            '\u6e4d', '\u63a8', '\u541e', '\u8bac', '\u52b8', '\u6b6a', '\u5f2f', '\u5c23',
            '\u5371', '\u6637', '\u7fc1', '\u631d', '\u4e4c', '\u5915', '\u5477', '\u4ed9',
            '\u4e61', '\u7071', '\u4e9b', '\u5fc3', '\u5174', '\u51f6', '\u4f11', '\u620c',
            '\u5405', '\u75b6', '\u7025', '\u4e2b', '\u54bd', '\u592e', '\u5e7a', '\u503b',
            '\u4e00', '\u4e5a', '\u5e94', '\u5537', '\u4f63', '\u4f18', '\u7ea1', '\u56e6',
            '\u66f0', '\u8480', '\u5e00', '\u707d', '\u5142', '\u7242', '\u50ae', '\u556b',
            '\u9c61', '\u600e', '\u66fd', '\u5412', '\u635a', '\u6cbe', '\u5f20', '\u4f4b',
            '\u8707', '\u8d1e', '\u9eee', '\u4e4b', '\u4e2d', '\u5dde', '\u6731', '\u6293',
            '\u62fd', '\u4e13', '\u5986', '\u96b9', '\u5b92', '\u5353', '\u4ed4', '\u5b97',
            '\u90b9', '\u79df', '\u5297', '\u55fa', '\u5c0a', '\u6628',
        };
    private final static byte[][] PINYINS = {
            {65, 00, 00, 00, 00, 00, }, {65, 73, 00, 00, 00, 00, },
            {65, 78, 00, 00, 00, 00, }, {65, 78, 71, 00, 00, 00, },
            {65, 79, 00, 00, 00, 00, }, {66, 65, 00, 00, 00, 00, },
            {66, 65, 73, 00, 00, 00, }, {66, 65, 78, 00, 00, 00, },
            {66, 65, 78, 71, 00, 00, }, {66, 65, 79, 00, 00, 00, },
            {66, 69, 73, 00, 00, 00, }, {66, 69, 78, 00, 00, 00, },
            {66, 69, 78, 71, 00, 00, }, {66, 73, 00, 00, 00, 00, },
            {66, 73, 65, 78, 00, 00, }, {66, 73, 65, 79, 00, 00, },
            {66, 73, 69, 00, 00, 00, }, {66, 73, 78, 00, 00, 00, },
            {66, 73, 78, 71, 00, 00, }, {66, 79, 00, 00, 00, 00, },
            {66, 85, 00, 00, 00, 00, }, {67, 65, 00, 00, 00, 00, },
            {67, 65, 73, 00, 00, 00, }, {67, 65, 78, 00, 00, 00, },
            {67, 65, 78, 71, 00, 00, }, {67, 65, 79, 00, 00, 00, },
            {67, 69, 00, 00, 00, 00, }, {67, 69, 78, 00, 00, 00, },
            {67, 69, 78, 71, 00, 00, }, {67, 72, 65, 00, 00, 00, },
            {67, 72, 65, 73, 00, 00, }, {67, 72, 65, 78, 00, 00, },
            {67, 72, 65, 78, 71, 00, }, {67, 72, 65, 79, 00, 00, },
            {67, 72, 69, 00, 00, 00, }, {67, 72, 69, 78, 00, 00, },
            {67, 72, 69, 78, 71, 00, }, {67, 72, 73, 00, 00, 00, },
            {67, 72, 79, 78, 71, 00, }, {67, 72, 79, 85, 00, 00, },
            {67, 72, 85, 00, 00, 00, }, {67, 72, 85, 65, 73, 00, },
            {67, 72, 85, 65, 78, 00, }, {67, 72, 85, 65, 78, 71, },
            {67, 72, 85, 73, 00, 00, }, {67, 72, 85, 78, 00, 00, },
            {67, 72, 85, 79, 00, 00, }, {67, 73, 00, 00, 00, 00, },
            {67, 79, 78, 71, 00, 00, }, {67, 79, 85, 00, 00, 00, },
            {67, 85, 00, 00, 00, 00, }, {67, 85, 65, 78, 00, 00, },
            {67, 85, 73, 00, 00, 00, }, {67, 85, 78, 00, 00, 00, },
            {67, 85, 79, 00, 00, 00, }, {68, 65, 00, 00, 00, 00, },
            {68, 65, 73, 00, 00, 00, }, {68, 65, 78, 00, 00, 00, },
            {68, 65, 78, 71, 00, 00, }, {68, 65, 79, 00, 00, 00, },
            {68, 69, 00, 00, 00, 00, }, {68, 69, 78, 00, 00, 00, },
            {68, 69, 78, 71, 00, 00, }, {68, 73, 00, 00, 00, 00, },
            {68, 73, 65, 00, 00, 00, }, {68, 73, 65, 78, 00, 00, },
            {68, 73, 65, 79, 00, 00, }, {68, 73, 69, 00, 00, 00, },
            {68, 73, 78, 71, 00, 00, }, {68, 73, 85, 00, 00, 00, },
            {68, 79, 78, 71, 00, 00, }, {68, 79, 85, 00, 00, 00, },
            {68, 85, 00, 00, 00, 00, }, {68, 85, 65, 78, 00, 00, },
            {68, 85, 73, 00, 00, 00, }, {68, 85, 78, 00, 00, 00, },
            {68, 85, 79, 00, 00, 00, }, {69, 00, 00, 00, 00, 00, },
            {69, 78, 00, 00, 00, 00, }, {69, 78, 71, 00, 00, 00, },
            {69, 82, 00, 00, 00, 00, }, {70, 65, 00, 00, 00, 00, },
            {70, 65, 78, 00, 00, 00, }, {70, 65, 78, 71, 00, 00, },
            {70, 69, 73, 00, 00, 00, }, {70, 69, 78, 00, 00, 00, },
            {70, 69, 78, 71, 00, 00, }, {70, 73, 65, 79, 00, 00, },
            {70, 79, 00, 00, 00, 00, }, {70, 85, 00, 00, 00, 00, },
            {70, 79, 85, 00, 00, 00, }, {70, 85, 00, 00, 00, 00, },
            {71, 85, 73, 00, 00, 00, }, {71, 65, 00, 00, 00, 00, },
            {71, 65, 73, 00, 00, 00, }, {71, 65, 78, 00, 00, 00, },
            {71, 65, 78, 71, 00, 00, }, {71, 65, 79, 00, 00, 00, },
            {71, 69, 00, 00, 00, 00, }, {71, 69, 73, 00, 00, 00, },
            {71, 69, 78, 00, 00, 00, }, {71, 69, 78, 71, 00, 00, },
            {74, 73, 69, 00, 00, 00, }, {71, 69, 00, 00, 00, 00, },
            {71, 79, 78, 71, 00, 00, }, {71, 79, 85, 00, 00, 00, },
            {71, 85, 00, 00, 00, 00, }, {71, 85, 65, 00, 00, 00, },
            {71, 85, 65, 73, 00, 00, }, {71, 85, 65, 78, 00, 00, },
            {71, 85, 65, 78, 71, 00, }, {71, 85, 73, 00, 00, 00, },
            {71, 85, 78, 00, 00, 00, }, {71, 85, 65, 78, 00, 00, },
            {71, 85, 79, 00, 00, 00, }, {72, 65, 00, 00, 00, 00, },
            {72, 65, 73, 00, 00, 00, }, {72, 65, 78, 00, 00, 00, },
            {72, 65, 78, 71, 00, 00, }, {72, 65, 79, 00, 00, 00, },
            {72, 69, 00, 00, 00, 00, }, {72, 69, 73, 00, 00, 00, },
            {72, 69, 78, 00, 00, 00, }, {72, 69, 78, 71, 00, 00, },
            {72, 79, 78, 71, 00, 00, }, {72, 79, 85, 00, 00, 00, },
            {72, 85, 00, 00, 00, 00, }, {72, 85, 65, 00, 00, 00, },
            {72, 85, 65, 73, 00, 00, }, {72, 85, 65, 78, 00, 00, },
            {72, 85, 65, 78, 71, 00, }, {72, 85, 73, 00, 00, 00, },
            {72, 85, 78, 00, 00, 00, }, {72, 85, 79, 00, 00, 00, },
            {74, 73, 00, 00, 00, 00, }, {74, 73, 65, 00, 00, 00, },
            {74, 73, 65, 78, 00, 00, }, {74, 73, 65, 78, 71, 00, },
            {74, 73, 65, 79, 00, 00, }, {74, 73, 69, 00, 00, 00, },
            {74, 73, 78, 00, 00, 00, }, {74, 73, 78, 71, 00, 00, },
            {74, 73, 79, 78, 71, 00, }, {74, 73, 85, 00, 00, 00, },
            {74, 85, 00, 00, 00, 00, }, {74, 85, 65, 78, 00, 00, },
            {74, 85, 69, 00, 00, 00, }, {74, 85, 78, 00, 00, 00, },
            {75, 65, 00, 00, 00, 00, }, {75, 65, 73, 00, 00, 00, },
            {75, 65, 78, 00, 00, 00, }, {75, 65, 78, 71, 00, 00, },
            {75, 65, 79, 00, 00, 00, }, {75, 69, 00, 00, 00, 00, },
            {75, 69, 78, 00, 00, 00, }, {75, 69, 78, 71, 00, 00, },
            {75, 79, 78, 71, 00, 00, }, {75, 79, 85, 00, 00, 00, },
            {75, 85, 00, 00, 00, 00, }, {75, 85, 65, 00, 00, 00, },
            {75, 85, 65, 73, 00, 00, }, {75, 85, 65, 78, 00, 00, },
            {75, 85, 65, 78, 71, 00, }, {75, 85, 73, 00, 00, 00, },
            {75, 85, 78, 00, 00, 00, }, {75, 85, 79, 00, 00, 00, },
            {76, 65, 00, 00, 00, 00, }, {76, 65, 73, 00, 00, 00, },
            {76, 65, 78, 00, 00, 00, }, {76, 65, 78, 71, 00, 00, },
            {76, 65, 79, 00, 00, 00, }, {76, 69, 00, 00, 00, 00, },
            {76, 69, 73, 00, 00, 00, }, {76, 73, 00, 00, 00, 00, },
            {76, 73, 78, 71, 00, 00, }, {76, 69, 78, 71, 00, 00, },
            {76, 73, 00, 00, 00, 00, }, {76, 73, 65, 00, 00, 00, },
            {76, 73, 65, 78, 00, 00, }, {76, 73, 65, 78, 71, 00, },
            {76, 73, 65, 79, 00, 00, }, {76, 73, 69, 00, 00, 00, },
            {76, 73, 78, 00, 00, 00, }, {76, 73, 78, 71, 00, 00, },
            {76, 73, 85, 00, 00, 00, }, {76, 79, 78, 71, 00, 00, },
            {76, 79, 85, 00, 00, 00, }, {76, 85, 00, 00, 00, 00, },
            {76, 85, 65, 78, 00, 00, }, {76, 85, 78, 00, 00, 00, },
            {76, 85, 79, 00, 00, 00, }, {77, 65, 00, 00, 00, 00, },
            {77, 65, 73, 00, 00, 00, }, {77, 65, 78, 00, 00, 00, },
            {77, 65, 78, 71, 00, 00, }, {77, 65, 79, 00, 00, 00, },
            {77, 69, 73, 00, 00, 00, }, {77, 69, 78, 00, 00, 00, },
            {77, 69, 78, 71, 00, 00, }, {77, 73, 00, 00, 00, 00, },
            {77, 73, 65, 78, 00, 00, }, {77, 73, 65, 79, 00, 00, },
            {77, 73, 69, 00, 00, 00, }, {77, 73, 78, 00, 00, 00, },
            {77, 73, 78, 71, 00, 00, }, {77, 73, 85, 00, 00, 00, },
            {77, 79, 00, 00, 00, 00, }, {77, 79, 85, 00, 00, 00, },
            {77, 85, 00, 00, 00, 00, }, {78, 65, 00, 00, 00, 00, },
            {78, 65, 73, 00, 00, 00, }, {78, 65, 78, 00, 00, 00, },
            {78, 65, 78, 71, 00, 00, }, {78, 65, 79, 00, 00, 00, },
            {78, 69, 00, 00, 00, 00, }, {78, 69, 73, 00, 00, 00, },
            {78, 69, 78, 00, 00, 00, }, {78, 69, 78, 71, 00, 00, },
            {78, 73, 00, 00, 00, 00, }, {78, 73, 65, 78, 00, 00, },
            {78, 73, 65, 78, 71, 00, }, {78, 73, 65, 79, 00, 00, },
            {78, 73, 69, 00, 00, 00, }, {78, 73, 78, 00, 00, 00, },
            {78, 73, 78, 71, 00, 00, }, {78, 73, 85, 00, 00, 00, },
            {78, 79, 78, 71, 00, 00, }, {78, 79, 85, 00, 00, 00, },
            {78, 85, 00, 00, 00, 00, }, {78, 85, 65, 78, 00, 00, },
            {78, 85, 78, 00, 00, 00, }, {78, 85, 79, 00, 00, 00, },
            {79, 00, 00, 00, 00, 00, }, {79, 85, 00, 00, 00, 00, },
            {80, 65, 00, 00, 00, 00, }, {80, 65, 73, 00, 00, 00, },
            {80, 65, 78, 00, 00, 00, }, {80, 65, 78, 71, 00, 00, },
            {80, 65, 79, 00, 00, 00, }, {80, 69, 73, 00, 00, 00, },
            {80, 69, 78, 00, 00, 00, }, {80, 69, 78, 71, 00, 00, },
            {80, 73, 00, 00, 00, 00, }, {80, 73, 65, 78, 00, 00, },
            {80, 73, 65, 79, 00, 00, }, {80, 73, 69, 00, 00, 00, },
            {80, 73, 78, 00, 00, 00, }, {80, 73, 78, 71, 00, 00, },
            {80, 79, 00, 00, 00, 00, }, {80, 79, 85, 00, 00, 00, },
            {80, 85, 00, 00, 00, 00, }, {81, 73, 00, 00, 00, 00, },
            {81, 73, 65, 00, 00, 00, }, {81, 73, 65, 78, 00, 00, },
            {81, 73, 65, 78, 71, 00, }, {81, 73, 65, 79, 00, 00, },
            {81, 73, 69, 00, 00, 00, }, {81, 73, 78, 00, 00, 00, },
            {81, 73, 78, 71, 00, 00, }, {81, 73, 79, 78, 71, 00, },
            {81, 73, 85, 00, 00, 00, }, {81, 85, 00, 00, 00, 00, },
            {81, 85, 65, 78, 00, 00, }, {81, 85, 69, 00, 00, 00, },
            {81, 85, 78, 00, 00, 00, }, {82, 65, 78, 00, 00, 00, },
            {82, 65, 78, 71, 00, 00, }, {82, 65, 79, 00, 00, 00, },
            {82, 69, 00, 00, 00, 00, }, {82, 69, 78, 00, 00, 00, },
            {82, 69, 78, 71, 00, 00, }, {82, 73, 00, 00, 00, 00, },
            {82, 79, 78, 71, 00, 00, }, {82, 79, 85, 00, 00, 00, },
            {82, 85, 00, 00, 00, 00, }, {82, 85, 65, 78, 00, 00, },
            {82, 85, 73, 00, 00, 00, }, {82, 85, 78, 00, 00, 00, },
            {82, 85, 79, 00, 00, 00, }, {83, 65, 00, 00, 00, 00, },
            {83, 65, 73, 00, 00, 00, }, {83, 65, 78, 00, 00, 00, },
            {83, 65, 78, 71, 00, 00, }, {83, 65, 79, 00, 00, 00, },
            {83, 69, 00, 00, 00, 00, }, {83, 69, 78, 00, 00, 00, },
            {83, 69, 78, 71, 00, 00, }, {83, 72, 65, 00, 00, 00, },
            {83, 72, 65, 73, 00, 00, }, {83, 72, 65, 78, 00, 00, },
            {83, 72, 65, 78, 71, 00, }, {83, 72, 65, 79, 00, 00, },
            {83, 72, 69, 00, 00, 00, }, {83, 72, 69, 78, 00, 00, },
            {83, 72, 69, 78, 71, 00, }, {83, 72, 73, 00, 00, 00, },
            {83, 72, 79, 85, 00, 00, }, {83, 72, 85, 00, 00, 00, },
            {83, 72, 85, 65, 00, 00, }, {83, 72, 85, 65, 73, 00, },
            {83, 72, 85, 65, 78, 00, }, {83, 72, 85, 65, 78, 71, },
            {83, 72, 85, 73, 00, 00, }, {83, 72, 85, 78, 00, 00, },
            {83, 72, 85, 79, 00, 00, }, {83, 73, 00, 00, 00, 00, },
            {83, 79, 78, 71, 00, 00, }, {83, 79, 85, 00, 00, 00, },
            {83, 85, 00, 00, 00, 00, }, {83, 85, 65, 78, 00, 00, },
            {83, 85, 73, 00, 00, 00, }, {83, 85, 78, 00, 00, 00, },
            {83, 85, 79, 00, 00, 00, }, {84, 65, 00, 00, 00, 00, },
            {84, 65, 73, 00, 00, 00, }, {84, 65, 78, 00, 00, 00, },
            {84, 65, 78, 71, 00, 00, }, {84, 65, 79, 00, 00, 00, },
            {84, 69, 00, 00, 00, 00, }, {84, 69, 78, 71, 00, 00, },
            {84, 73, 00, 00, 00, 00, }, {84, 73, 65, 78, 00, 00, },
            {84, 73, 65, 79, 00, 00, }, {84, 73, 69, 00, 00, 00, },
            {84, 73, 78, 71, 00, 00, }, {84, 79, 78, 71, 00, 00, },
            {84, 79, 85, 00, 00, 00, }, {84, 85, 00, 00, 00, 00, },
            {84, 85, 65, 78, 00, 00, }, {84, 85, 73, 00, 00, 00, },
            {84, 85, 78, 00, 00, 00, }, {84, 85, 79, 00, 00, 00, },
            {87, 65, 00, 00, 00, 00, }, {87, 65, 73, 00, 00, 00, },
            {87, 65, 78, 00, 00, 00, }, {87, 65, 78, 71, 00, 00, },
            {87, 69, 73, 00, 00, 00, }, {87, 69, 78, 00, 00, 00, },
            {87, 69, 78, 71, 00, 00, }, {87, 79, 00, 00, 00, 00, },
            {87, 85, 00, 00, 00, 00, }, {88, 73, 00, 00, 00, 00, },
            {88, 73, 65, 00, 00, 00, }, {88, 73, 65, 78, 00, 00, },
            {88, 73, 65, 78, 71, 00, }, {88, 73, 65, 79, 00, 00, },
            {88, 73, 69, 00, 00, 00, }, {88, 73, 78, 00, 00, 00, },
            {88, 73, 78, 71, 00, 00, }, {88, 73, 79, 78, 71, 00, },
            {88, 73, 85, 00, 00, 00, }, {88, 85, 00, 00, 00, 00, },
            {88, 85, 65, 78, 00, 00, }, {88, 85, 69, 00, 00, 00, },
            {88, 85, 78, 00, 00, 00, }, {89, 65, 00, 00, 00, 00, },
            {89, 65, 78, 00, 00, 00, }, {89, 65, 78, 71, 00, 00, },
            {89, 65, 79, 00, 00, 00, }, {89, 69, 00, 00, 00, 00, },
            {89, 73, 00, 00, 00, 00, }, {89, 73, 78, 00, 00, 00, },
            {89, 73, 78, 71, 00, 00, }, {89, 79, 00, 00, 00, 00, },
            {89, 79, 78, 71, 00, 00, }, {89, 79, 85, 00, 00, 00, },
            {89, 85, 00, 00, 00, 00, }, {89, 85, 65, 78, 00, 00, },
            {89, 85, 69, 00, 00, 00, }, {89, 85, 78, 00, 00, 00, },
            {90, 65, 00, 00, 00, 00, }, {90, 65, 73, 00, 00, 00, },
            {90, 65, 78, 00, 00, 00, }, {90, 65, 78, 71, 00, 00, },
            {90, 65, 79, 00, 00, 00, }, {90, 69, 00, 00, 00, 00, },
            {90, 69, 73, 00, 00, 00, }, {90, 69, 78, 00, 00, 00, },
            {90, 69, 78, 71, 00, 00, }, {90, 72, 65, 00, 00, 00, },
            {90, 72, 65, 73, 00, 00, }, {90, 72, 65, 78, 00, 00, },
            {90, 72, 65, 78, 71, 00, }, {90, 72, 65, 79, 00, 00, },
            {90, 72, 69, 00, 00, 00, }, {90, 72, 69, 78, 00, 00, },
            {90, 72, 69, 78, 71, 00, }, {90, 72, 73, 00, 00, 00, },
            {90, 72, 79, 78, 71, 00, }, {90, 72, 79, 85, 00, 00, },
            {90, 72, 85, 00, 00, 00, }, {90, 72, 85, 65, 00, 00, },
            {90, 72, 85, 65, 73, 00, }, {90, 72, 85, 65, 78, 00, },
            {90, 72, 85, 65, 78, 71, }, {90, 72, 85, 73, 00, 00, },
            {90, 72, 85, 78, 00, 00, }, {90, 72, 85, 79, 00, 00, },
            {90, 73, 00, 00, 00, 00, }, {90, 79, 78, 71, 00, 00, },
            {90, 79, 85, 00, 00, 00, }, {90, 85, 00, 00, 00, 00, },
            {90, 85, 65, 78, 00, 00, }, {90, 85, 73, 00, 00, 00, },
            {90, 85, 78, 00, 00, 00, }, {90, 85, 79, 00, 00, 00, },

        };

    /*** First and last Chinese character with known Pinyin according to zh collation */
    private static final String FIRST_PINYIN_UNIHAN =  "\u5416";
    private static final String LAST_PINYIN_UNIHAN =  "\u5497";
    /*** The first Chinese character in Unicode block */
    private static final char FIRST_UNIHAN = '\u3400';
    private static final Collator COLLATOR = Collator.getInstance(Locale.CHINA);

    private static HanziToPinyin sInstance;
    private final boolean mHasChinaCollator;

    public static class Token {
        /***
         * Separator between target string for each source char
         */
        public static final String SEPARATOR = " ";

        public static final int LATIN = 1;
        public static final int PINYIN = 2;
        public static final int UNKNOWN = 3;

        public Token() {
        }

        public Token(int type, String source, String target) {
            this.type = type;
            this.source = source;
            this.target = target;
        }
        /***
         * Type of this token, ASCII, PINYIN or UNKNOWN.
         */
        public int type;
        /***
         * Original string before translation.
         */
        public String source;
        /***
         * Translated string of source. For Han, target is corresponding Pinyin.
         * Otherwise target is original string in source.
         */
        public String target;
    }

    protected HanziToPinyin(boolean hasChinaCollator) {
        mHasChinaCollator = hasChinaCollator;
    }

    public static HanziToPinyin getInstance() {
        synchronized(HanziToPinyin.class) {
            if (sInstance != null) {
                return sInstance;
            }
            // Check if zh_CN collation data is available
//            final Locale locale[] = Collator.getAvailableLocales();
//            for (int i = 0; i < locale.length; i++) {
//            	LogUtil.i("1223", "locale-------------"+i+"-----------------"+locale[i]);
//                if (locale[i].equals(Locale.CHINA)) {
//                    sInstance = new HanziToPinyin(true);
//                    return sInstance;
//                }
//            }
//            Log.w(TAG, "There is no Chinese collator, HanziToPinyin is disabled");
           sInstance = new HanziToPinyin(true);
            return sInstance;
        }
    }

    private Token getToken(char character) {
        Token token = new Token();
        final String letter = Character.toString(character);
        token.source = letter;
        int offset = -1;
        int cmp;
        if (character < 256) {
            token.type = Token.LATIN;
            token.target = letter;
            return token;
        } else if (character < FIRST_UNIHAN) {
            token.type = Token.UNKNOWN;
            token.target = letter;
            return token;
        } else {
            cmp = COLLATOR.compare(letter, FIRST_PINYIN_UNIHAN);
            if (cmp < 0) {
                token.type = Token.UNKNOWN;
                token.target = letter;
                return token;
            } else if (cmp == 0) {
                token.type = Token.PINYIN;
                offset = 0;
            } else {
                cmp = COLLATOR.compare(letter, LAST_PINYIN_UNIHAN);
                if (cmp > 0) {
                    token.type = Token.UNKNOWN;
                    token.target = letter;
                    return token;
                } else if (cmp == 0) {
                    token.type = Token.PINYIN;
                    offset = UNIHANS.length - 1;
                }
            }
        }

        token.type = Token.PINYIN;
        if (offset < 0) {
            int begin = 0;
            int end = UNIHANS.length - 1;
            while (begin <= end) {
                offset = (begin + end) / 2;
                final String unihan = Character.toString(UNIHANS[offset]);
                cmp = COLLATOR.compare(letter, unihan);
                if (cmp == 0) {
                    break;
                } else if (cmp > 0) {
                    begin = offset + 1;
                } else {
                    end = offset - 1;
                }
            }
        }
        if (cmp < 0) {
            offset--;
        }
        StringBuilder pinyin = new StringBuilder();
        for (int j = 0; j < PINYINS[offset].length && PINYINS[offset][j] != 0; j++) {
            pinyin.append((char)PINYINS[offset][j]);
        }
        token.target = pinyin.toString();
        return token;
    }

    /***
     * Convert the input to a array of tokens. The sequence of ASCII or Unknown
     * characters without space will be put into a Token, One Hanzi character 
     * which has pinyin will be treated as a Token.
     * If these is no China collator, the empty token array is returned.
     */
    public ArrayList<Token> get(final String input) {
        ArrayList<Token> tokens = new ArrayList<Token>();
        if (!mHasChinaCollator || TextUtils.isEmpty(input)) {
            // return empty tokens.
            return tokens;
        }
        final int inputLength = input.length();
        final StringBuilder sb = new StringBuilder();
        int tokenType = Token.LATIN;
        // Go through the input, create a new token when
        // a. Token type changed
        // b. Get the Pinyin of current charater.
        // c. current character is space.
        for (int i = 0; i < inputLength; i++) {
            final char character = input.charAt(i);
            if (character == ' ') {
                if (sb.length() > 0) {
                    addToken(sb, tokens, tokenType);
                }
            } else if (character < 256) {
                if (tokenType != Token.LATIN && sb.length() > 0) {
                    addToken(sb, tokens, tokenType);
                }
                tokenType = Token.LATIN;
                sb.append(character);
            } else if (character < FIRST_UNIHAN) {
                if (tokenType != Token.UNKNOWN && sb.length() > 0) {
                    addToken(sb, tokens, tokenType);
                }
                tokenType = Token.UNKNOWN;
                sb.append(character);
            } else {
                Token t = getToken(character);
                if (t.type == Token.PINYIN) {
                    if (sb.length() > 0) {
                        addToken(sb, tokens, tokenType);
                    }
                    tokens.add(t);
                    tokenType = Token.PINYIN;
                } else {
                    if (tokenType != t.type && sb.length() > 0) {
                        addToken(sb, tokens, tokenType);
                    }
                    tokenType = t.type;
                    sb.append(character);
                }
            }
        }
        if (sb.length() > 0) {
            addToken(sb, tokens, tokenType);
        }
        return tokens;
    }

    private void addToken(final StringBuilder sb, final ArrayList<Token> tokens,
            final int tokenType) {
        String str = sb.toString();
        tokens.add(new Token(tokenType, str, str));
        sb.setLength(0);
    }

}

2. 在3.0以上使用

package com.lectek.android.base.util;
/*
 * Copyright (C) 2011 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.text.Collator;
import java.util.ArrayList;
import java.util.Locale;

import com.lectek.android.base.util.HanziToPinyin.Token;

import android.text.TextUtils;

/**
 * An object to convert Chinese character to its corresponding pinyin string. For characters with
 * multiple possible pinyin string, only one is selected according to collator. Polyphone is not
 * supported in this implementation. This class is implemented to achieve the best runtime
 * performance and minimum runtime resources with tolerable sacrifice of accuracy. This
 * implementation highly depends on zh_CN ICU collation data and must be always synchronized with
 * ICU.
 *
 * Currently this file is aligned to zh.txt in ICU 4.6
 */
public class HanziToPinyin4 {

    /**
     * Unihans array. Each unihans is the first one within same pinyin. Use it to determine pinyin
     * for all ~20k unihans.
     */
    public static final char[] UNIHANS = {
            '\u5475', '\u54ce', '\u5b89', '\u80ae', '\u51f9',
            '\u516b', '\u6300', '\u6273', '\u90a6', '\u5305', '\u5351', '\u5954', '\u4f3b',
            '\u5c44', '\u8fb9', '\u6807', '\u618b', '\u90a0', '\u69df', '\u7676', '\u5cec',
            '\u5693', '\u5a47', '\u98e1', '\u4ed3', '\u64cd', '\u518a', '\u5d7e', '\u564c',
            '\u53c9', '\u9497', '\u8fbf', '\u4f25', '\u6284', '\u8f66', '\u62bb', '\u67fd',
            '\u5403', '\u5145', '\u62bd', '\u51fa', '\u6b3b', '\u63e3', '\u5ddd', '\u75ae',
            '\u5439', '\u6776', '\u9034', '\u75b5', '\u5306', '\u51d1', '\u7c97', '\u6c46',
            '\u5d14', '\u90a8', '\u6413', '\u5491', '\u5927', '\u75b8', '\u5f53', '\u5200',
            '\u6dc2', '\u5f97', '\u6265', '\u706f', '\u6c10', '\u55f2', '\u7538', '\u5201',
            '\u7239', '\u4ec3', '\u4e1f', '\u4e1c', '\u5517', '\u561f', '\u5073', '\u5806',
            '\u9413', '\u591a', '\u5a40', '\u8bf6', '\u5940', '\u97a5', '\u800c', '\u53d1',
            '\u5e06', '\u65b9', '\u98de', '\u5206', '\u4e30', '\u8985', '\u4ecf', '\u7d11',
            '\u4f15', '\u65ee', '\u8be5', '\u7518', '\u5188', '\u768b', '\u6208', '\u7d66',
            '\u6839', '\u5e9a', '\u5de5', '\u52fe', '\u4f30', '\u74dc', '\u7f6b', '\u5173',
            '\u5149', '\u5f52', '\u886e', '\u5459', '\u54c8', '\u54b3', '\u9878', '\u82c0',
            '\u84bf', '\u8bc3', '\u9ed2', '\u62eb', '\u4ea8', '\u5677', '\u543d', '\u9f41',
            '\u5322', '\u82b1', '\u6000', '\u72bf', '\u5ddf', '\u7070', '\u660f', '\u5419',
            '\u4e0c', '\u52a0', '\u620b', '\u6c5f', '\u827d', '\u9636', '\u5dfe', '\u52a4',
            '\u5182', '\u52fc', '\u530a', '\u5a1f', '\u5658', '\u519b', '\u5494', '\u5f00',
            '\u520a', '\u95f6', '\u5c3b', '\u533c', '\u524b', '\u80af', '\u962c', '\u7a7a',
            '\u62a0', '\u5233', '\u5938', '\u84af', '\u5bbd', '\u5321', '\u4e8f', '\u5764',
            '\u6269', '\u5783', '\u6765', '\u5170', '\u5577', '\u635e', '\u4ec2', '\u52d2',
            '\u5844', '\u5215', '\u5006', '\u5941', '\u826f', '\u64a9', '\u5217', '\u62ce',
            '\u3007', '\u6e9c', '\u9f99', '\u779c', '\u565c', '\u5a08', '\u7567', '\u62a1',
            '\u7f57', '\u5463', '\u5988', '\u973e', '\u5ada', '\u9099', '\u732b', '\u9ebc',
            '\u6c92', '\u95e8', '\u753f', '\u54aa', '\u7720', '\u55b5', '\u54a9', '\u6c11',
            '\u540d', '\u8c2c', '\u6478', '\u54de', '\u6bea', '\u62cf', '\u5b7b', '\u56e1',
            '\u56ca', '\u5b6c', '\u8bb7', '\u9981', '\u6041', '\u80fd', '\u59ae', '\u62c8',
            '\u5b22', '\u9e1f', '\u634f', '\u60a8', '\u5b81', '\u599e', '\u519c', '\u7fba',
            '\u5974', '\u597b', '\u8650', '\u632a', '\u5594', '\u8bb4', '\u8db4', '\u62cd',
            '\u7705', '\u4e53', '\u629b', '\u5478', '\u55b7', '\u5309', '\u4e15', '\u504f',
            '\u527d', '\u6c15', '\u59d8', '\u4e52', '\u948b', '\u5256', '\u4ec6', '\u4e03',
            '\u6390', '\u5343', '\u545b', '\u6084', '\u767f', '\u4fb5', '\u9751', '\u909b',
            '\u4e18', '\u66f2', '\u5f2e', '\u7f3a', '\u590b', '\u5465', '\u7a63', '\u5a06',
            '\u60f9', '\u4eba', '\u6254', '\u65e5', '\u8338', '\u53b9', '\u5982', '\u5827',
            '\u6875', '\u95f0', '\u82e5', '\u4ee8', '\u6be2', '\u4e09', '\u6852', '\u63bb',
            '\u8272', '\u68ee', '\u50e7', '\u6740', '\u7b5b', '\u5c71', '\u4f24', '\u5f30',
            '\u5962', '\u7533', '\u5347', '\u5c38', '\u53ce', '\u4e66', '\u5237', '\u6454',
            '\u95e9', '\u53cc', '\u8c01', '\u542e', '\u5981', '\u53b6', '\u5fea', '\u635c',
            '\u82cf', '\u72fb', '\u590a', '\u5b59', '\u5506', '\u4ed6', '\u82d4', '\u574d',
            '\u94f4', '\u5932', '\u5fd1', '\u71a5', '\u5254', '\u5929', '\u4f7b', '\u5e16',
            '\u5385', '\u56f2', '\u5077', '\u92c0', '\u6e4d', '\u63a8', '\u541e', '\u6258',
            '\u6316', '\u6b6a', '\u5f2f', '\u5c2a', '\u5371', '\u586d', '\u7fc1', '\u631d',
            '\u5140', '\u5915', '\u867e', '\u4eda', '\u4e61', '\u7071', '\u4e9b', '\u5fc3',
            '\u661f', '\u51f6', '\u4f11', '\u65f4', '\u8f69', '\u75b6', '\u52cb', '\u4e2b',
            '\u6079', '\u592e', '\u5e7a', '\u8036', '\u4e00', '\u6b2d', '\u5e94', '\u54df',
            '\u4f63', '\u4f18', '\u625c', '\u9e22', '\u66f0', '\u6655', '\u531d', '\u707d',
            '\u7ccc', '\u7242', '\u50ae', '\u5219', '\u8d3c', '\u600e', '\u5897', '\u5412',
            '\u635a', '\u6cbe', '\u5f20', '\u948a', '\u8707', '\u8d1e', '\u4e89', '\u4e4b',
            '\u4e2d', '\u5dde', '\u6731', '\u6293', '\u8de9', '\u4e13', '\u5986', '\u96b9',
            '\u5b92', '\u5353', '\u5b5c', '\u5b97', '\u90b9', '\u79df', '\u94bb', '\u539c',
            '\u5c0a', '\u6628', };

    /**
     * Pinyin array. Each pinyin is corresponding to unihans of same offset in the unihans array.
     */
    public static final byte[][] PINYINS = {
            { 65, 0, 0, 0, 0, 0 }, { 65, 73, 0, 0, 0, 0 }, { 65, 78, 0, 0, 0, 0 },
            { 65, 78, 71, 0, 0, 0 }, { 65, 79, 0, 0, 0, 0 }, { 66, 65, 0, 0, 0, 0 },
            { 66, 65, 73, 0, 0, 0 }, { 66, 65, 78, 0, 0, 0 }, { 66, 65, 78, 71, 0, 0 },
            { 66, 65, 79, 0, 0, 0 }, { 66, 69, 73, 0, 0, 0 }, { 66, 69, 78, 0, 0, 0 },
            { 66, 69, 78, 71, 0, 0 }, { 66, 73, 0, 0, 0, 0 }, { 66, 73, 65, 78, 0, 0 },
            { 66, 73, 65, 79, 0, 0 }, { 66, 73, 69, 0, 0, 0 }, { 66, 73, 78, 0, 0, 0 },
            { 66, 73, 78, 71, 0, 0 }, { 66, 79, 0, 0, 0, 0 }, { 66, 85, 0, 0, 0, 0 },
            { 67, 65, 0, 0, 0, 0 }, { 67, 65, 73, 0, 0, 0 },
            { 67, 65, 78, 0, 0, 0 }, { 67, 65, 78, 71, 0, 0 }, { 67, 65, 79, 0, 0, 0 },
            { 67, 69, 0, 0, 0, 0 }, { 67, 69, 78, 0, 0, 0 }, { 67, 69, 78, 71, 0, 0 },
            { 67, 72, 65, 0, 0, 0 }, { 67, 72, 65, 73, 0, 0 }, { 67, 72, 65, 78, 0, 0 },
            { 67, 72, 65, 78, 71, 0 }, { 67, 72, 65, 79, 0, 0 }, { 67, 72, 69, 0, 0, 0 },
            { 67, 72, 69, 78, 0, 0 }, { 67, 72, 69, 78, 71, 0 }, { 67, 72, 73, 0, 0, 0 },
            { 67, 72, 79, 78, 71, 0 }, { 67, 72, 79, 85, 0, 0 }, { 67, 72, 85, 0, 0, 0 },
            { 67, 72, 85, 65, 0, 0 }, { 67, 72, 85, 65, 73, 0 }, { 67, 72, 85, 65, 78, 0 },
            { 67, 72, 85, 65, 78, 71 }, { 67, 72, 85, 73, 0, 0 }, { 67, 72, 85, 78, 0, 0 },
            { 67, 72, 85, 79, 0, 0 }, { 67, 73, 0, 0, 0, 0 }, { 67, 79, 78, 71, 0, 0 },
            { 67, 79, 85, 0, 0, 0 }, { 67, 85, 0, 0, 0, 0 }, { 67, 85, 65, 78, 0, 0 },
            { 67, 85, 73, 0, 0, 0 }, { 67, 85, 78, 0, 0, 0 }, { 67, 85, 79, 0, 0, 0 },
            { 68, 65, 0, 0, 0, 0 }, { 68, 65, 73, 0, 0, 0 }, { 68, 65, 78, 0, 0, 0 },
            { 68, 65, 78, 71, 0, 0 }, { 68, 65, 79, 0, 0, 0 }, { 68, 69, 0, 0, 0, 0 },
            { 68, 69, 73, 0, 0, 0 }, { 68, 69, 78, 0, 0, 0 }, { 68, 69, 78, 71, 0, 0 },
            { 68, 73, 0, 0, 0, 0 }, { 68, 73, 65, 0, 0, 0 }, { 68, 73, 65, 78, 0, 0 },
            { 68, 73, 65, 79, 0, 0 }, { 68, 73, 69, 0, 0, 0 }, { 68, 73, 78, 71, 0, 0 },
            { 68, 73, 85, 0, 0, 0 }, { 68, 79, 78, 71, 0, 0 }, { 68, 79, 85, 0, 0, 0 },
            { 68, 85, 0, 0, 0, 0 }, { 68, 85, 65, 78, 0, 0 }, { 68, 85, 73, 0, 0, 0 },
            { 68, 85, 78, 0, 0, 0 }, { 68, 85, 79, 0, 0, 0 }, { 69, 0, 0, 0, 0, 0 },
            { 69, 73, 0, 0, 0, 0 }, { 69, 78, 0, 0, 0, 0 }, { 69, 78, 71, 0, 0, 0 },
            { 69, 82, 0, 0, 0, 0 }, { 70, 65, 0, 0, 0, 0 }, { 70, 65, 78, 0, 0, 0 },
            { 70, 65, 78, 71, 0, 0 }, { 70, 69, 73, 0, 0, 0 }, { 70, 69, 78, 0, 0, 0 },
            { 70, 69, 78, 71, 0, 0 }, { 70, 73, 65, 79, 0, 0 }, { 70, 79, 0, 0, 0, 0 },
            { 70, 79, 85, 0, 0, 0 }, { 70, 85, 0, 0, 0, 0 }, { 71, 65, 0, 0, 0, 0 },
            { 71, 65, 73, 0, 0, 0 }, { 71, 65, 78, 0, 0, 0 }, { 71, 65, 78, 71, 0, 0 },
            { 71, 65, 79, 0, 0, 0 }, { 71, 69, 0, 0, 0, 0 }, { 71, 69, 73, 0, 0, 0 },
            { 71, 69, 78, 0, 0, 0 }, { 71, 69, 78, 71, 0, 0 }, { 71, 79, 78, 71, 0, 0 },
            { 71, 79, 85, 0, 0, 0 }, { 71, 85, 0, 0, 0, 0 }, { 71, 85, 65, 0, 0, 0 },
            { 71, 85, 65, 73, 0, 0 }, { 71, 85, 65, 78, 0, 0 }, { 71, 85, 65, 78, 71, 0 },
            { 71, 85, 73, 0, 0, 0 }, { 71, 85, 78, 0, 0, 0 }, { 71, 85, 79, 0, 0, 0 },
            { 72, 65, 0, 0, 0, 0 }, { 72, 65, 73, 0, 0, 0 }, { 72, 65, 78, 0, 0, 0 },
            { 72, 65, 78, 71, 0, 0 }, { 72, 65, 79, 0, 0, 0 }, { 72, 69, 0, 0, 0, 0 },
            { 72, 69, 73, 0, 0, 0 }, { 72, 69, 78, 0, 0, 0 }, { 72, 69, 78, 71, 0, 0 },
            { 72, 77, 0, 0, 0, 0 }, { 72, 79, 78, 71, 0, 0 }, { 72, 79, 85, 0, 0, 0 },
            { 72, 85, 0, 0, 0, 0 }, { 72, 85, 65, 0, 0, 0 }, { 72, 85, 65, 73, 0, 0 },
            { 72, 85, 65, 78, 0, 0 }, { 72, 85, 65, 78, 71, 0 }, { 72, 85, 73, 0, 0, 0 },
            { 72, 85, 78, 0, 0, 0 }, { 72, 85, 79, 0, 0, 0 }, { 74, 73, 0, 0, 0, 0 },
            { 74, 73, 65, 0, 0, 0 }, { 74, 73, 65, 78, 0, 0 }, { 74, 73, 65, 78, 71, 0 },
            { 74, 73, 65, 79, 0, 0 }, { 74, 73, 69, 0, 0, 0 }, { 74, 73, 78, 0, 0, 0 },
            { 74, 73, 78, 71, 0, 0 }, { 74, 73, 79, 78, 71, 0 }, { 74, 73, 85, 0, 0, 0 },
            { 74, 85, 0, 0, 0, 0 }, { 74, 85, 65, 78, 0, 0 }, { 74, 85, 69, 0, 0, 0 },
            { 74, 85, 78, 0, 0, 0 }, { 75, 65, 0, 0, 0, 0 }, { 75, 65, 73, 0, 0, 0 },
            { 75, 65, 78, 0, 0, 0 }, { 75, 65, 78, 71, 0, 0 }, { 75, 65, 79, 0, 0, 0 },
            { 75, 69, 0, 0, 0, 0 }, { 75, 69, 73, 0, 0, 0 }, { 75, 69, 78, 0, 0, 0 },
            { 75, 69, 78, 71, 0, 0 }, { 75, 79, 78, 71, 0, 0 }, { 75, 79, 85, 0, 0, 0 },
            { 75, 85, 0, 0, 0, 0 }, { 75, 85, 65, 0, 0, 0 }, { 75, 85, 65, 73, 0, 0 },
            { 75, 85, 65, 78, 0, 0 }, { 75, 85, 65, 78, 71, 0 }, { 75, 85, 73, 0, 0, 0 },
            { 75, 85, 78, 0, 0, 0 }, { 75, 85, 79, 0, 0, 0 }, { 76, 65, 0, 0, 0, 0 },
            { 76, 65, 73, 0, 0, 0 }, { 76, 65, 78, 0, 0, 0 }, { 76, 65, 78, 71, 0, 0 },
            { 76, 65, 79, 0, 0, 0 }, { 76, 69, 0, 0, 0, 0 }, { 76, 69, 73, 0, 0, 0 },
            { 76, 69, 78, 71, 0, 0 }, { 76, 73, 0, 0, 0, 0 }, { 76, 73, 65, 0, 0, 0 },
            { 76, 73, 65, 78, 0, 0 }, { 76, 73, 65, 78, 71, 0 }, { 76, 73, 65, 79, 0, 0 },
            { 76, 73, 69, 0, 0, 0 }, { 76, 73, 78, 0, 0, 0 }, { 76, 73, 78, 71, 0, 0 },
            { 76, 73, 85, 0, 0, 0 }, { 76, 79, 78, 71, 0, 0 }, { 76, 79, 85, 0, 0, 0 },
            { 76, 85, 0, 0, 0, 0 }, { 76, 85, 65, 78, 0, 0 }, { 76, 85, 69, 0, 0, 0 },
            { 76, 85, 78, 0, 0, 0 }, { 76, 85, 79, 0, 0, 0 }, { 77, 0, 0, 0, 0, 0 },
            { 77, 65, 0, 0, 0, 0 }, { 77, 65, 73, 0, 0, 0 }, { 77, 65, 78, 0, 0, 0 },
            { 77, 65, 78, 71, 0, 0 }, { 77, 65, 79, 0, 0, 0 }, { 77, 69, 0, 0, 0, 0 },
            { 77, 69, 73, 0, 0, 0 }, { 77, 69, 78, 0, 0, 0 }, { 77, 69, 78, 71, 0, 0 },
            { 77, 73, 0, 0, 0, 0 }, { 77, 73, 65, 78, 0, 0 }, { 77, 73, 65, 79, 0, 0 },
            { 77, 73, 69, 0, 0, 0 }, { 77, 73, 78, 0, 0, 0 }, { 77, 73, 78, 71, 0, 0 },
            { 77, 73, 85, 0, 0, 0 }, { 77, 79, 0, 0, 0, 0 }, { 77, 79, 85, 0, 0, 0 },
            { 77, 85, 0, 0, 0, 0 }, { 78, 65, 0, 0, 0, 0 }, { 78, 65, 73, 0, 0, 0 },
            { 78, 65, 78, 0, 0, 0 }, { 78, 65, 78, 71, 0, 0 }, { 78, 65, 79, 0, 0, 0 },
            { 78, 69, 0, 0, 0, 0 }, { 78, 69, 73, 0, 0, 0 }, { 78, 69, 78, 0, 0, 0 },
            { 78, 69, 78, 71, 0, 0 }, { 78, 73, 0, 0, 0, 0 }, { 78, 73, 65, 78, 0, 0 },
            { 78, 73, 65, 78, 71, 0 }, { 78, 73, 65, 79, 0, 0 }, { 78, 73, 69, 0, 0, 0 },
            { 78, 73, 78, 0, 0, 0 }, { 78, 73, 78, 71, 0, 0 }, { 78, 73, 85, 0, 0, 0 },
            { 78, 79, 78, 71, 0, 0 }, { 78, 79, 85, 0, 0, 0 }, { 78, 85, 0, 0, 0, 0 },
            { 78, 85, 65, 78, 0, 0 }, { 78, 85, 69, 0, 0, 0 }, { 78, 85, 79, 0, 0, 0 },
            { 79, 0, 0, 0, 0, 0 }, { 79, 85, 0, 0, 0, 0 }, { 80, 65, 0, 0, 0, 0 },
            { 80, 65, 73, 0, 0, 0 }, { 80, 65, 78, 0, 0, 0 }, { 80, 65, 78, 71, 0, 0 },
            { 80, 65, 79, 0, 0, 0 }, { 80, 69, 73, 0, 0, 0 }, { 80, 69, 78, 0, 0, 0 },
            { 80, 69, 78, 71, 0, 0 }, { 80, 73, 0, 0, 0, 0 }, { 80, 73, 65, 78, 0, 0 },
            { 80, 73, 65, 79, 0, 0 }, { 80, 73, 69, 0, 0, 0 }, { 80, 73, 78, 0, 0, 0 },
            { 80, 73, 78, 71, 0, 0 }, { 80, 79, 0, 0, 0, 0 }, { 80, 79, 85, 0, 0, 0 },
            { 80, 85, 0, 0, 0, 0 }, { 81, 73, 0, 0, 0, 0 }, { 81, 73, 65, 0, 0, 0 },
            { 81, 73, 65, 78, 0, 0 }, { 81, 73, 65, 78, 71, 0 }, { 81, 73, 65, 79, 0, 0 },
            { 81, 73, 69, 0, 0, 0 }, { 81, 73, 78, 0, 0, 0 }, { 81, 73, 78, 71, 0, 0 },
            { 81, 73, 79, 78, 71, 0 }, { 81, 73, 85, 0, 0, 0 }, { 81, 85, 0, 0, 0, 0 },
            { 81, 85, 65, 78, 0, 0 }, { 81, 85, 69, 0, 0, 0 }, { 81, 85, 78, 0, 0, 0 },
            { 82, 65, 78, 0, 0, 0 }, { 82, 65, 78, 71, 0, 0 }, { 82, 65, 79, 0, 0, 0 },
            { 82, 69, 0, 0, 0, 0 }, { 82, 69, 78, 0, 0, 0 }, { 82, 69, 78, 71, 0, 0 },
            { 82, 73, 0, 0, 0, 0 }, { 82, 79, 78, 71, 0, 0 }, { 82, 79, 85, 0, 0, 0 },
            { 82, 85, 0, 0, 0, 0 }, { 82, 85, 65, 78, 0, 0 }, { 82, 85, 73, 0, 0, 0 },
            { 82, 85, 78, 0, 0, 0 }, { 82, 85, 79, 0, 0, 0 }, { 83, 65, 0, 0, 0, 0 },
            { 83, 65, 73, 0, 0, 0 }, { 83, 65, 78, 0, 0, 0 }, { 83, 65, 78, 71, 0, 0 },
            { 83, 65, 79, 0, 0, 0 }, { 83, 69, 0, 0, 0, 0 }, { 83, 69, 78, 0, 0, 0 },
            { 83, 69, 78, 71, 0, 0 }, { 83, 72, 65, 0, 0, 0 }, { 83, 72, 65, 73, 0, 0 },
            { 83, 72, 65, 78, 0, 0 }, { 83, 72, 65, 78, 71, 0 }, { 83, 72, 65, 79, 0, 0 },
            { 83, 72, 69, 0, 0, 0 }, { 83, 72, 69, 78, 0, 0 }, { 83, 72, 69, 78, 71, 0 },
            { 83, 72, 73, 0, 0, 0 }, { 83, 72, 79, 85, 0, 0 }, { 83, 72, 85, 0, 0, 0 },
            { 83, 72, 85, 65, 0, 0 }, { 83, 72, 85, 65, 73, 0 }, { 83, 72, 85, 65, 78, 0 },
            { 83, 72, 85, 65, 78, 71 }, { 83, 72, 85, 73, 0, 0 }, { 83, 72, 85, 78, 0, 0 },
            { 83, 72, 85, 79, 0, 0 }, { 83, 73, 0, 0, 0, 0 }, { 83, 79, 78, 71, 0, 0 },
            { 83, 79, 85, 0, 0, 0 }, { 83, 85, 0, 0, 0, 0 }, { 83, 85, 65, 78, 0, 0 },
            { 83, 85, 73, 0, 0, 0 }, { 83, 85, 78, 0, 0, 0 }, { 83, 85, 79, 0, 0, 0 },
            { 84, 65, 0, 0, 0, 0 }, { 84, 65, 73, 0, 0, 0 }, { 84, 65, 78, 0, 0, 0 },
            { 84, 65, 78, 71, 0, 0 }, { 84, 65, 79, 0, 0, 0 }, { 84, 69, 0, 0, 0, 0 },
            { 84, 69, 78, 71, 0, 0 }, { 84, 73, 0, 0, 0, 0 }, { 84, 73, 65, 78, 0, 0 },
            { 84, 73, 65, 79, 0, 0 }, { 84, 73, 69, 0, 0, 0 }, { 84, 73, 78, 71, 0, 0 },
            { 84, 79, 78, 71, 0, 0 }, { 84, 79, 85, 0, 0, 0 }, { 84, 85, 0, 0, 0, 0 },
            { 84, 85, 65, 78, 0, 0 }, { 84, 85, 73, 0, 0, 0 }, { 84, 85, 78, 0, 0, 0 },
            { 84, 85, 79, 0, 0, 0 }, { 87, 65, 0, 0, 0, 0 }, { 87, 65, 73, 0, 0, 0 },
            { 87, 65, 78, 0, 0, 0 }, { 87, 65, 78, 71, 0, 0 }, { 87, 69, 73, 0, 0, 0 },
            { 87, 69, 78, 0, 0, 0 }, { 87, 69, 78, 71, 0, 0 }, { 87, 79, 0, 0, 0, 0 },
            { 87, 85, 0, 0, 0, 0 }, { 88, 73, 0, 0, 0, 0 }, { 88, 73, 65, 0, 0, 0 },
            { 88, 73, 65, 78, 0, 0 }, { 88, 73, 65, 78, 71, 0 }, { 88, 73, 65, 79, 0, 0 },
            { 88, 73, 69, 0, 0, 0 }, { 88, 73, 78, 0, 0, 0 }, { 88, 73, 78, 71, 0, 0 },
            { 88, 73, 79, 78, 71, 0 }, { 88, 73, 85, 0, 0, 0 }, { 88, 85, 0, 0, 0, 0 },
            { 88, 85, 65, 78, 0, 0 }, { 88, 85, 69, 0, 0, 0 }, { 88, 85, 78, 0, 0, 0 },
            { 89, 65, 0, 0, 0, 0 }, { 89, 65, 78, 0, 0, 0 }, { 89, 65, 78, 71, 0, 0 },
            { 89, 65, 79, 0, 0, 0 }, { 89, 69, 0, 0, 0, 0 }, { 89, 73, 0, 0, 0, 0 },
            { 89, 73, 78, 0, 0, 0 }, { 89, 73, 78, 71, 0, 0 }, { 89, 79, 0, 0, 0, 0 },
            { 89, 79, 78, 71, 0, 0 }, { 89, 79, 85, 0, 0, 0 }, { 89, 85, 0, 0, 0, 0 },
            { 89, 85, 65, 78, 0, 0 }, { 89, 85, 69, 0, 0, 0 }, { 89, 85, 78, 0, 0, 0 },
            { 90, 65, 0, 0, 0, 0 }, { 90, 65, 73, 0, 0, 0 }, { 90, 65, 78, 0, 0, 0 },
            { 90, 65, 78, 71, 0, 0 }, { 90, 65, 79, 0, 0, 0 }, { 90, 69, 0, 0, 0, 0 },
            { 90, 69, 73, 0, 0, 0 }, { 90, 69, 78, 0, 0, 0 }, { 90, 69, 78, 71, 0, 0 },
            { 90, 72, 65, 0, 0, 0 }, { 90, 72, 65, 73, 0, 0 }, { 90, 72, 65, 78, 0, 0 },
            { 90, 72, 65, 78, 71, 0 }, { 90, 72, 65, 79, 0, 0 }, { 90, 72, 69, 0, 0, 0 },
            { 90, 72, 69, 78, 0, 0 }, { 90, 72, 69, 78, 71, 0 }, { 90, 72, 73, 0, 0, 0 },
            { 90, 72, 79, 78, 71, 0 }, { 90, 72, 79, 85, 0, 0 }, { 90, 72, 85, 0, 0, 0 },
            { 90, 72, 85, 65, 0, 0 }, { 90, 72, 85, 65, 73, 0 }, { 90, 72, 85, 65, 78, 0 },
            { 90, 72, 85, 65, 78, 71 }, { 90, 72, 85, 73, 0, 0 }, { 90, 72, 85, 78, 0, 0 },
            { 90, 72, 85, 79, 0, 0 }, { 90, 73, 0, 0, 0, 0 }, { 90, 79, 78, 71, 0, 0 },
            { 90, 79, 85, 0, 0, 0 }, { 90, 85, 0, 0, 0, 0 }, { 90, 85, 65, 78, 0, 0 },
            { 90, 85, 73, 0, 0, 0 }, { 90, 85, 78, 0, 0, 0 }, { 90, 85, 79, 0, 0, 0 }, };

    /** First and last Chinese character with known Pinyin according to zh collation */
    private static final String FIRST_PINYIN_UNIHAN = "\u963F";
    private static final String LAST_PINYIN_UNIHAN = "\u84D9";
    /** The first Chinese character in Unicode block */
    private static final char FIRST_UNIHAN = '\u3400';
    private static final Collator COLLATOR = Collator.getInstance(Locale.CHINA);

    private static HanziToPinyin4 sInstance;
    private final boolean mHasChinaCollator;

    public static class Token {
        /**
         * Separator between target string for each source char
         */
        public static final String SEPARATOR = " ";

        public static final int LATIN = 1;
        public static final int PINYIN = 2;
        public static final int UNKNOWN = 3;

        public Token() {
        }

        public Token(int type, String source, String target) {
            this.type = type;
            this.source = source;
            this.target = target;
        }

        /**
         * Type of this token, ASCII, PINYIN or UNKNOWN.
         */
        public int type;
        /**
         * Original string before translation.
         */
        public String source;
        /**
         * Translated string of source. For Han, target is corresponding Pinyin. Otherwise target is
         * original string in source.
         */
        public String target;
    }

    protected HanziToPinyin4(boolean hasChinaCollator) {
        mHasChinaCollator = hasChinaCollator;
    }

    public static HanziToPinyin4 getInstance() {
        synchronized (HanziToPinyin4.class) {
            if (sInstance != null) {
                return sInstance;
            }
            // Check if zh_CN collation data is available
            sInstance = new HanziToPinyin4(true);
            return sInstance;
        }
    }
    private Token getToken(char character) {
        Token token = new Token();
        final String letter = Character.toString(character);
        token.source = letter;
        int offset = -1;
        int cmp;
        if (character < 256) {
            token.type = Token.LATIN;
            token.target = letter;
            return token;
        } else if (character < FIRST_UNIHAN) {
            token.type = Token.UNKNOWN;
            token.target = letter;
            return token;
        } else {
            cmp = COLLATOR.compare(letter, FIRST_PINYIN_UNIHAN);
            if (cmp < 0) {
                token.type = Token.UNKNOWN;
                token.target = letter;
                return token;
            } else if (cmp == 0) {
                token.type = Token.PINYIN;
                offset = 0;
            } else {
                cmp = COLLATOR.compare(letter, LAST_PINYIN_UNIHAN);
                if (cmp > 0) {
                    token.type = Token.UNKNOWN;
                    token.target = letter;
                    return token;
                } else if (cmp == 0) {
                    token.type = Token.PINYIN;
                    offset = UNIHANS.length - 1;
                }
            }
        }

        token.type = Token.PINYIN;
        if (offset < 0) {
            int begin = 0;
            int end = UNIHANS.length - 1;
            while (begin <= end) {
                offset = (begin + end) / 2;
                final String unihan = Character.toString(UNIHANS[offset]);
                cmp = COLLATOR.compare(letter, unihan);
                if (cmp == 0) {
                    break;
                } else if (cmp > 0) {
                    begin = offset + 1;
                } else {
                    end = offset - 1;
                }
            }
        }
        if (cmp < 0) {
            offset--;
        }
        StringBuilder pinyin = new StringBuilder();
        for (int j = 0; j < PINYINS[offset].length && PINYINS[offset][j] != 0; j++) {
            pinyin.append((char) PINYINS[offset][j]);
        }
        token.target = pinyin.toString();
        return token;
    }

    /**
     * Convert the input to a array of tokens. The sequence of ASCII or Unknown characters without
     * space will be put into a Token, One Hanzi character which has pinyin will be treated as a
     * Token. If these is no China collator, the empty token array is returned.
     */
    public ArrayList<Token> get(final String input) {
        ArrayList<Token> tokens = new ArrayList<Token>();
        if (!mHasChinaCollator || TextUtils.isEmpty(input)) {
            // return empty tokens.
            return tokens;
        }
        final int inputLength = input.length();
        final StringBuilder sb = new StringBuilder();
        int tokenType = Token.LATIN;
        // Go through the input, create a new token when
        // a. Token type changed
        // b. Get the Pinyin of current charater.
        // c. current character is space.
        for (int i = 0; i < inputLength; i++) {
            final char character = input.charAt(i);
            if (character == ' ') {
                if (sb.length() > 0) {
                    addToken(sb, tokens, tokenType);
                }
            } else if (character < 256) {
                if (tokenType != Token.LATIN && sb.length() > 0) {
                    addToken(sb, tokens, tokenType);
                }
                tokenType = Token.LATIN;
                sb.append(character);
            } else if (character < FIRST_UNIHAN) {
                if (tokenType != Token.UNKNOWN && sb.length() > 0) {
                    addToken(sb, tokens, tokenType);
                }
                tokenType = Token.UNKNOWN;
                sb.append(character);
            } else {
                Token t = getToken(character);
                if (t.type == Token.PINYIN) {
                    if (sb.length() > 0) {
                        addToken(sb, tokens, tokenType);
                    }
                    tokens.add(t);
                    tokenType = Token.PINYIN;
                } else {
                    if (tokenType != t.type && sb.length() > 0) {
                        addToken(sb, tokens, tokenType);
                    }
                    tokenType = t.type;
                    sb.append(character);
                }
            }
        }
        if (sb.length() > 0) {
            addToken(sb, tokens, tokenType);
        }
        return tokens;
    }

    private void addToken(
            final StringBuilder sb, final ArrayList<Token> tokens, final int tokenType) {
        String str = sb.toString();
        tokens.add(new Token(tokenType, str, str));
        sb.setLength(0);
    }
    



   	public String getBlendString(final String input){
   		StringBuffer sb = new StringBuffer();
   		ArrayList<Token>  tokens = get(input);
   		for(Token token : tokens){

   				sb.append(" "+token.target +" " + token.source+" ");

   				sb.append(token.source);
   			}	
   		return sb.toString();
   	}
}



分享到:
评论

相关推荐

    Android 汉字转拼音

    主要就是从源码(Android 5.0)里拷贝 HanziToPinyin.java 和 Transliterator.java 这两个文件过来。 Android 旧版的 HanziToPinyin.java 有点不一样,旧版的把编码都写进去这个文件,新版的是引用底层库。

    一个文字转换拼音的实现方式,AndroidStudio工程

    一个文字转换拼音的实现方式,AndroidStudio工程,通过开源代码HanziToPinyin.java类实现,网上很通用的一种解决方案,记录一下,可以满足对翻译精度不高的工程要求,可以直接拷贝两个文件到工程中使用。

    android实现汉字转拼音功能 带多音字识别

    android 汉字转拼音带多音字识别功能,供大家参考,具体内容如下 问题来源 在做地名按首字母排序的时候出现了这样一个bug。长沙会被翻译拼音成zhangsha,重庆会被翻译拼音成zhong qing。于是排序出了问题。 汉字...

    android通过拼音搜索中文的功能实现代码

    好几年没写博客了,很多知识不记是真的会忘记,以后还是保持写博客的习惯吧。... 很明显,这是两个功能,一个是中文转拼音,一个是查询过滤 下面我们先实现主要功能,查询过滤 创建布局文件 activit

    Android程序开发之获取汉字的首字母

    获取一个汉字的拼音首字母。 GB码两个字节分别减去160,转换成10进制码组合就可以得到区位码例如汉字“你”的GB码是0xC4/0xE3,分别减去0xA0(160)就是0x24/0x430x24转成10进制就是36,0x43是67,那么它的区位码...

    王码五笔86 for Android

    拼音:在中文输入状态,按z键之后,再输入汉字的拼音即可。 标点:按“SYM”键,可输入全半角标点符号。反复按此键可以在全角半角符号之间切换,显示更多符号可以托动“・・・▲”来输入。 数字:切换到数字“123...

    我爱汉字 v2.2.0627060

    我爱汉字是一款适合学龄前儿童(4-8岁)识记汉字的应用,覆盖入学前和小学一年级所需和最常用汉字(1100个),内容上包括图片识字、拼音、汉字组词、写字等多种形式,满足各个年龄段孩子的识字需求。 汉字识记是...

    kotlin-android-sample:带有Material Design的Kotlin和Java语言联系人的实践样本

    AZ”和“#”的侧边栏快速定位的联系人使用中文拼音,用户名,昵称,手机和电子邮件的快速搜索用户目标Android M权限Material Design by android支持设计包Kotlin语言样本像iOS应用一样向右滑动即可返回文字头像,...

    pinyin4j.zip pinyin4j.jar

    Pinyin4j是一个功能强悍的汉语拼音工具包,是sourceforge.net上的一个开源项目。 包里面有 pinyin4j.zip pinyin4j.jar 两种

    维语词典源码.zip

    从项目整体的架构上目测应该是学生作品,一开始项目缺少jsoup-1.6.0.jar和ksoap2-android-assembly-2.4-jar-with-dependencies.jar这两个jar包,都已经找齐了放进去了,项目可以正常运行,不过看懂显示的什么还需要...

    JAVA上百实例源码以及开源项目

    两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将...

    JAVA上百实例源码以及开源项目源代码

    Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用...

    java开源包1

    中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 ...

    java开源包11

    中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 ...

    java开源包2

    中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 ...

    java开源包3

    中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 ...

    java开源包6

    中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 ...

    java开源包5

    中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 ...

    java开源包10

    中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 ...

Global site tag (gtag.js) - Google Analytics