2010-08-26 5 views

Antwort

6

mögliche Lösung mit Python:

Ich denke, dass Unicode-Datenbank Pinyin romanizations für chinesische Zeichen enthält, aber diese sind nicht in unicodedata Moduldaten enthalten.

Sie können jedoch einige externe Bibliotheken verwenden, wie cjklib, Beispiel:

# 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 

Ausgang:

hāo 
hǎo 
hào 

UPDATE

cjklib mit einem eigenständigen cjknife Utility kommt, die micht helfen. einige Verwendung wird beschrieben here

+1

.. und wenn Sie Möchten Sie nur ASCII-oder numerische Darstellung, finden Sie möglicherweise, wie es in der Dokumentation zu tun, oder Sie können die erste Pinyin und entfernen Sie die Akzente: http://StackOverflow.com/Questions/517923/what-is-the-Best- weg zu entfernen-accen ts-in-a-python-unicode-string – mykhal

+0

Unicode hat eine Tabelle für Character to Pinyin Mapping, heißt Unihan und hat viele Daten. :) – cburgmer

+0

'raise ValueError, 'unbekanntes Gebietsschema:% s'% localename ValueError: unbekanntes Gebietsschema: UTF-8' keine Idee? – jokoon