Salinan kode adalah sebagai berikut:
impor net.sourceForge.pinyin4j.pinyinhelper;
impor net.sourceForge.pinyin4j.format.hanyupinyincasetype;
impor net.sourceForge.pinyin4j.format.hanyupinyinOutputFormat;
impor net.sourceForge.pinyin4j.format.hanyupinyintonetype;
impor net.sourceForge.pinyin4j.format.hanyupinyinvchartype;
impor net.sourceForge.pinyin4j.format.exception.badhanyupinyinOutputFormatcombination;
kelas publik pinyin4jutil {
/**
* Konversi karakter Cina menjadi ejaan penuh
*
* @param src
* @Return String
*/
string statis public getPinyin (string src) {
char [] t1 = null;
t1 = src.tochararray ();
// System.out.println (t1.length);
String [] t2 = string baru [t1.length];
// System.out.println (t2.length);
// Atur format output pinyin karakter Cina
HanyupinyinOutputFormat T3 = HanyupinyinOutPutFormat baru ();
t3.setCasetype (hanyupinyincasetype.lowercase);
t3.settonetype (hanyupinyintonetype.without_tone);
t3.setVchartype (hanyupinyinvchartype.with_v);
String t4 = "";
int t0 = t1.length;
mencoba {
untuk (int i = 0; i <t0; i ++) {
// Tentukan apakah itu bisa menjadi karakter Cina
// System.out.println (T1 [i]);
if (karakter.tostring (t1 [i]). mencocokkan ("[// u4e00-// u9fa5]+")) {
t2 = pinyinhelper.tohanyupinyinstringarray (t1 [i], t3); // simpan semua ejaan karakter Cina ke dalam array T2
T4 += T2 [0]; // Setelah mengeluarkan pengucapan pertama karakter Cina dan menghubungkannya ke string T4
} kalau tidak {
// Jika itu bukan karakter Cina, maka setelah secara tidak langsung mengekstraksi karakter dan menghubungkannya ke string T4
t4 += karakter.toString (t1 [i]);
}
}
} catch (badhanyupinyinoutputFormatcombination e) {
e.printstacktrace ();
}
mengembalikan t4;
}
/**
* Ekstrak huruf pertama dari setiap karakter Cina
*
* @param str
* @Return String
*/
String statis publik getPinyInheadchar (string str) {
String convert = "";
untuk (int j = 0; j <str.length (); j ++) {
word char = str.charat (j);
// Ekstrak huruf pertama karakter Cina
String [] pinyinarray = pinyinhelper.tohanyupinyInstringarray (Word);
if (pinyinarray! = null) {
Convert += pinyinarray [0] .charat (0);
} kalau tidak {
Konversi += Word;
}
}
return monvert;
}
/**
* Konversi string ke kode ASCII
*
* @param cnstr
* @Return String
*/
string statis publik getCnascii (string cnstr) {
StringBuffer strbuf = StringBuffer baru ();
// Konversi string menjadi urutan byte
byte [] bgbk = cnstr.getbytes ();
untuk (int i = 0; i <bgbk.length; i ++) {
// System.out.println (integer.tohexstring (bgbk [i] & 0xff));
// Konversi setiap karakter ke kode ASCII
strbuf.append (integer.tohexstring (bgbk [i] & 0xff));
}
return strbuf.tostring ();
}
public static void main (string [] args) {
String cnstr = "cina";
System.out.println (getPinyin (CNSTR));
System.out.println (getPinyinHeadChar (CNSTR));
System.out.println (getcnascii (CNSTR));
}
}