将汉字转换为拼音

6
我在网上找到了一些网站,如http://www.chinesetopinyin.com,可以将汉字转换为拼音(罗马字拼音)。

有人知道如何做到这一点吗?或者有一个可解析的数据库吗?


编辑:我正在使用C#,但实际上更喜欢使用数据库/平面文件。

1个回答

6

使用Python可能的解决方案:

我认为Unicode数据库包含中文字符的拼音罗马化,但这些不包含在unicodedata模块数据中。

不过,您可以使用一些外部库,比如cjklib,例如:

# 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

输出:

hāo
hǎo
hào

更新

cjklib带有一个独立的cjknife实用程序,可能会有所帮助。一些用法在这里描述。


1
如果您想要ASCII或数字表示,您可以在文档中找到如何做,或者您可以选择第一个拼音并删除重音:https://dev59.com/8HRB5IYBdhLWcg3wxZ7Y - mykhal
Unicode确实有一个字符到拼音映射的表,它被称为Unihan并且包含大量数据。 :) - cburgmer
抛出 ValueError,'未知的语言环境:%s' % localename ValueError: 未知的语言环境:UTF-8。有什么想法吗? - jokoon
jokoon:我不知道...你从 import locale; locale.getlocale() 得到了什么? - mykhal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接