A cópia do código é a seguinte:
importação net.sourceforge.pinyin4j.pinyinhelper;
importação net.sourceforge.pinyin4j.format.hanyupinyincaseType;
importar net.sourceforge.pinyin4j.format.hanyUpinyInOutputFormat;
importar net.sourceforge.pinyin4j.format.hanyupinyIntoneType;
Import net.sourceforge.pinyin4j.format.hanyupinyInvChartype;
importar net.sourceforge.pinyin4j.format.exception.badhanyUpinyInOutputFormatCombination;
public class pinyin4jutil {
/**
* Converter caracteres chineses em ortografia completa
*
* @param src
* @return string
*/
public static string getpinyin (string src) {
char [] t1 = nulo;
t1 = src.toCharArray ();
// System.out.println (t1.length);
String [] T2 = new String [T1.Length];
// System.out.println (T2.Length);
// Defina o formato da saída de pinyin de caracteres chineses
HanyupinyInOutputFormat T3 = new HanyUpinyInOutputFormat ();
T3.SetCaseType (HanyUpinyincaseType.LowerCase);
t3.setToneType (hanyupinyIntoneType.without_tone);
t3.setvChartype (hanyupinyInvChartype.with_v);
String t4 = "";
int t0 = t1.length;
tentar {
for (int i = 0; i <t0; i ++) {
// determinar se pode ser caracteres chineses
// System.out.println (t1 [i]);
if (caractere.toString (t1 [i]). Matches ("[// u4e00-// u9fa5]+")) {
T2 = pinyinhelper.tohanyupinyinstringArray (t1 [i], t3); // salve todas as grafias de caracteres chineses na matriz T2
t4 += T2 [0]; // Depois de tirar a primeira pronúncia do caractere chinês e conectá -lo à string t4
} outro {
// Se não for um caractere chinês, depois de extrair indiretamente o personagem e conectá -lo à string t4
t4 += caractere.toString (t1 [i]);
}
}
} catch (badhanyupinyinoutputformatcombination e) {
E.PrintStackTrace ();
}
retornar t4;
}
/**
* Extraia a primeira letra de cada personagem chinês
*
* @param str
* @return string
*/
public static string getpinyinheadchar (string str) {
String convert = "";
for (int j = 0; j <str.Length (); j ++) {
char word = str.charat (j);
// extraia a primeira letra de caracteres chineses
String [] pinyinArray = pinyinhelper.tohanyupinyinstringArray (word);
if (pinyinArray! = null) {
converter += pinyinArray [0] .Charat (0);
} outro {
converter += word;
}
}
retornar converter;
}
/**
* Converter strings em código ASCII
*
* @param cnstr
* @return string
*/
public static string getcnascii (string cnstr) {
StringBuffer strbuf = new StringBuffer ();
// converte strings em sequências de bytes
byte [] bgbk = cnstr.getBytes ();
for (int i = 0; i <bgbk.length; i ++) {
// System.out.println (Integer.toHexString (BGBK [i] e 0XFF));
// converte cada caractere em código ASCII
strbuf.append (Integer.toHexString (bgbk [i] e 0xff));
}
return strbuf.toString ();
}
public static void main (string [] args) {
String cnstr = "China";
System.out.println (getpinyin (cnstr));
System.out.println (getpinyiNeadchar (cnstr));
System.out.println (getCNascii (CNSTR));
}
}