2010-08-26 6 views
5

J'ai trouvé des endroits sur le web tels que http://www.chinesetopinyin.com/ qui convertissent les caractères chinois en pinyin (romanisation). Est-ce que quelqu'un sait comment faire ceci, ou a-t-il une base de données qui peut être analysée?Conversion de chinois en pinyin

EDIT: J'utilise C# mais préfèrerais en fait une base de données/fichier plat.

Répondre

6

solution possible en utilisant Python:

Je pense que la base de données Unicode contient romanisation pinyin pour les caractères chinois, mais ceux-ci ne sont pas inclus dans unicodedata données du module.

cependant, vous pouvez utiliser des bibliothèques externes, comme cjklib, par exemple:

# coding: UTF-8 
import cjklib 
from cjklib.characterlookup import CharacterLookup 

c = u'好' 

cjk = CharacterLookup('T') 
readings = cjk.getReadingForCharacter(c, 'Pinyin') 
for r in readings: 
    print r 

sortie:

hāo 
hǎo 
hào 

MISE À JOUR

cjklib est livré avec une cjknife autonome utilitaire, qui Micht aide. certains usages sont décrits here

+1

.. et si vous Si vous voulez une représentation uniquement ascii ou numérique, vous pouvez trouver comment le faire dans la documentation, ou vous pouvez choisir le premier pinyin et supprimer les accents: http://stackoverflow.com/questions/517923/what-is-the-best- façon de supprimer-accen ts-in-a-python-unicode-string – mykhal

+0

Unicode possède une table pour le mappage Character to Pinyin, elle s'appelle Unihan et contient beaucoup de données. :) – cburgmer

+0

'raise ValueError, 'paramètres régionaux inconnus:% s'% localename ValueError: unknown locale: UTF-8' une idée? – jokoon

Questions connexes