Dieser Artikel beschreibt die Verwendung chinesischer Charaktere für Pinyin4j in Java. Teilen Sie es für Ihre Referenz wie folgt weiter:
Die Umwandlung chinesischer Charaktere in Pinyin ist ein sehr häufiges Problem in der täglichen Entwicklung. Wenn Sie beispielsweise in unserem großen 12306 "WH" in den Ortsnamen eingeben, sehen Sie Ortsnamen wie "Wuhan", "Wuhu" und "Weihai", und wenn Sie "Wuhu" eingeben, sehen Sie "Wuhu".
Java erhält das Pinyin chinesischer Charaktere, und die Pinyin4J -Bibliothek kann dieses Problem gut lösen.
Download -Adresse: http://sourceforge.net/projects/pinyin4j/
Download und entpackt es, es gibt einen Pinyin4j-2.5.0.jar im Inneren. Verwenden Sie diese Bibliothek einfach.
Chinesische Charaktere zu Pinyin:
Die Codekopie lautet wie folgt: String [] pinyin = pinyinhelper.tohanyupinyInstringArray ('rere-re-re-re-);
Die obige Codezeile besteht darin, ein einzelnes chinesisches Zeichen in ein Pinyin umzuwandeln, wie das Wort "schwer", das eine Reihe von String -Typen zurückgibt:
"Zhong4"
"Chong2"
"金" ist ein polyphonischer Charakter, und das Rückgabarray dieser Methode enthält das Pinyin aller Aussprachen dieses Zeichens. Die letzte Anzahl jeder Aussprache ist der Ton (der erste, zweite, dritte, vierte, nicht nötig, dies zu erklären).
Das obige ist der einfachste Weg, um einen einzigen chinesischen Charakter zu bekommen. Sie können auch Hanyupinyinoutputformat verwenden, um das Format zu formatieren, das den Pinyin zurückgibt.
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: Verwenden Sie phonetische Symbole direkt (mit_u_unicode muss ansonsten abnormal) (zhòng) verwendet werden. ü (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-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-r-r 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-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 Wenn der in eingelassene Charakter kein chinesischer Charakter ist und nicht in Pinyin umgewandelt werden kann, wird er direkt null zurückgegeben.Obwohl Pinyin4j sehr nützlich ist, hat es immer noch Einschränkungen. Der obige Code kann nur das Pinyin eines einzelnen chinesischen Zeichens erhalten, kann aber das Pinyin eines Wortes, das polyphonische Zeichen enthält, nicht erhalten. Zum Beispiel ist es "Chongqing", es ist unmöglich festzustellen, ob es sich um "Chongqing" oder "Zhongqing" handelt, und Pinyin4j kann die Aussprache polyphonischer Zeichen nicht durch den Kontext beurteilen.
Wenn Sie die Aussprache eines Wortes, das polyphonische Zeichen enthält, erhalten, können Sie daher zu einer Liste zurückkehren, und die richtige Aussprache kann nur manuell beurteilt und ausgewählt werden.
Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.