Este artículo describe el uso de caracteres chinos a Pinyin4J en Java. Compártelo para su referencia, como sigue:
La conversión de caracteres chinos a pinyin es un problema muy común en el desarrollo diario. Por ejemplo, en nuestro excelente 12306, si ingresas "WH" en el nombre del lugar, verás nombres de lugares como "Wuhan", "Wuhu" y "Weihai", y si entras "Wuhu", verás "Wuhu".
Java obtiene el pinyin de los caracteres chinos, y la biblioteca Pinyin4J puede resolver bien este problema.
Descargar dirección: http://sourceforge.net/projects/pinyin4j/
Descargarlo y descomponerlo, hay un pinyin4j-2.5.0.jar adentro, solo usa esta biblioteca.
Caracteres chinos a Pinyin:
La copia del código es la siguiente: string [] pinyin = pinyinhelper.tohanyupinyinstringarrara ('re-re-re-);
La línea de código anterior es convertir un solo carácter chino en un pinyin, como la palabra "pesado", que devuelve una matriz de tipo de cadena:
"Zhong4"
"Chong2"
"金" es un carácter polifónico, y la matriz de retorno de este método contiene el pinyin de todas las pronunciaciones de este carácter. El último número de cada pronunciación es el tono (el primer, segundo, tercero, cuarto, no es necesario explicar esto).
Lo anterior es la forma más fácil de obtener un solo personaje chino. También puede usar HanyupinyinoutputFormat para formatear el formato que devuelve el pinyin.
HanyupinyinoutputFormat format = new HanyupinyinoutputFormat (); // uppercase: uppercase (zhong) // minúscula: minúscula (zhong) format.setCasetype (hanyupinyincaseSetype.lowercase); // sin_tone: sin símbolo fonético (zhong) // with_tone_number: 1-4-4 números) (zhong4) // with_tone_mark: use símbolos fonéticos directamente (con_u_unicode debe usarse de otra manera anormal) (zhòng) format.settoneType (hanyupinyiNtoneType.with_tone_mark); //: use v to to to ü (nv) // with_u_and_colon: use "u:" to Represent: "to Represent ü (nu (nu (nu (nu (nu (nu (nu (nu (nu Represent Con 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-re-re-re-re-re-re-re-re-re-re-re-re-re-re-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-re-re- formato); tohanyupinyinstringarray Si el personaje que pasa no es un personaje chino y no se puede convertir en pinyin, volverá directamente nulo.Aunque Pinyin4J es muy útil, todavía tiene limitaciones. El código anterior solo puede obtener el pinyin de un solo carácter chino, pero no puede obtener la pinyin de una palabra que contiene caracteres polifónicos. Por ejemplo, "Chongqing", es imposible determinar si es "Chongqing" o "Zhongqing", y Pinyin4j no puede juzgar la pronunciación de los caracteres polifónicos a través del contexto.
Por lo tanto, al obtener la pronunciación de una palabra que contiene caracteres polifónicos, puede volver a una lista, y la pronunciación correcta solo puede juzgarse y seleccionar manualmente.
Espero que este artículo sea útil para la programación Java de todos.