Artikel ini menjelaskan penggunaan karakter Cina untuk pinyin4j di java. Bagikan untuk referensi Anda, sebagai berikut:
Konversi karakter Cina ke Pinyin adalah masalah yang sangat umum dalam pengembangan harian. Misalnya, di tahun 12306 kami yang hebat, jika Anda memasukkan "WH" ke nama tempat, Anda akan melihat nama tempat seperti "Wuhan", "Wuhu", dan "Weihai", dan jika Anda memasukkan "Wuhu", Anda akan melihat "Wuhu".
Java memperoleh pinyin karakter Cina, dan perpustakaan pinyin4j dapat menyelesaikan masalah ini dengan baik.
Alamat unduhan: http://sourceForge.net/projects/pinyin4j/
Unduh dan unzip, ada pinyin4j-2.5.0.jar di dalam, cukup gunakan perpustakaan ini.
Karakter Cina ke Pinyin:
Salinan kode adalah sebagai berikut: String [] pinyin = pinyinhelper.tohanyupinyInstringArray ('re-re-re-);
Baris kode di atas adalah untuk mengonversi satu karakter Cina menjadi pinyin, seperti kata "berat", yang mengembalikan array tipe string:
"Zhong4"
"Chong2"
"金" adalah karakter polifonik, dan array pengembalian metode ini berisi pinyin dari semua pengucapan karakter ini. Jumlah terakhir dari setiap pengucapan adalah nada (yang pertama, kedua, ketiga, keempat, tidak perlu menjelaskan ini).
Di atas adalah cara termudah untuk mendapatkan satu karakter Cina. Anda juga dapat menggunakan HanyupinyinOutputFormat untuk memformat format yang mengembalikan pinyin.
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();// UPPERCASE: uppercase (ZHONG)// LOWERCASE: lowercase (zhong)format.setCaseType(HanyuPinyinCaseType.LOWERCASE);// WITHOUT_TONE: no phonetic symbol (zhong)// WITH_TONE_NUMBER: 1-4 numbers represent British standard (zhong4)// WITH_TONE_MARK: Use phonetic symbols directly (WITH_U_UNICODE must be used otherwise abnormal) (zhòng)format.setToneType(HanyuPinyinToneType.WITH_TONE_MARK);// WITH_V: Use v to represent ü (nv)// WITH_U_AND_COLON: Use "u:" to represent ü (nu:)// WITH_U_UNICODE: Use ü (nü) format.setVchartype (hanyupinyinvchartype.with_u_unicode); string [] pinyin = Pinyinhelper.tohanyupinyinstringarray ('re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re- re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re e-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re -re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re- re- format); tohanyupinyinstringarray jika karakter yang dilewati bukan karakter Cina dan tidak dapat dikonversi menjadi pinyin, itu akan langsung mengembalikan nol.Meskipun pinyin4j sangat berguna, ia masih memiliki keterbatasan. Kode di atas hanya dapat memperoleh pinyin dari satu karakter Cina, tetapi tidak dapat memperoleh pinyin dari kata yang mengandung karakter polifonik. Misalnya, "chongqing", tidak mungkin untuk menentukan apakah itu "chongqing" atau "zhongqing", dan pinyin4j tidak dapat menilai pengucapan karakter polifonik melalui konteks.
Oleh karena itu, ketika mendapatkan pengucapan kata yang mengandung karakter polifonik, Anda dapat kembali ke daftar, dan pengucapan yang benar hanya dapat dinilai secara manual dan dipilih.
Saya harap artikel ini akan membantu pemrograman Java semua orang.