/**
* Copyright (c)2010-2011 Enterprise Website Content Management System(EWCMS), All rights reserved.
* EWCMS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
* http://www.ewcms.com
*/
package com.ewcms.core.site.util;
import java.text.DecimalFormat;
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
/**
* 中文转换成拼音
*
* @author wuzhijun
*
*/
public class ConvertUtil {
public static String pinYin(String chinese){
String pinYin = "";
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setVCharType(HanyuPinyinVCharType.WITH_V);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
char[] charArray = chinese.replaceAll(" ", "").replaceAll(" ", "").toCharArray();
try {
for (int i = 0; i < charArray.length; i++) {
if (charArray[i] > 128) {
pinYin += PinyinHelper.toHanyuPinyinStringArray(charArray[i], defaultFormat)[0];
} else {
pinYin += charArray[i];
}
}
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
return pinYin;
}
public static String kb(long size) {
DecimalFormat dfom = new DecimalFormat("####.0");
if (size <= 0)
return "0 KB";
return String.valueOf(dfom.format(size / 1000)) + " KB";
}
}