用于卡纳达语的Python中的Unicode

时间:2013-12-20 10:48:08

标签: python unicode character-encoding

我正在尝试使用Unicode for Kannada语言,我在使用Python 2.7时输入以下代码:

print u'\u0cb5\u0ccd\u0c87'

输出是ವ್ಇ但我希望在Kannada中打印“vi”??

4 个答案:

答案 0 :(得分:3)

我相信你没有正确编码你的字符串。我希望这是你想要的:

>>> print u'\u0cb5\u0CBF'
ವಿ

您所做的是输出(使用Unicode分配给这些字符的全名):

  • KANNADA LETTER VA
  • KANNADA SIGN VIRAMA
  • KANNADA LETTER I

我可以看到这里的逻辑,但这不是Unicode的工作方式。 virama应仅用于辅音簇,或者如果序列以辅音结尾。要将音节与元音结合起来,您必须将音节与元音的组合形式一起使用:

  • KANNADA LETTER VA
  • KANNADA VOWEL SIGN I

KANNADA VOWEL SIGN我是结合形式的字母“I”,而KANNADA LETTER I是同一字母的非组合形式。

我建议阅读chapter 9 of the Unicode standard以获得有关如何处理南亚文字的完整解释。 Chapter 10也很有用。

答案 1 :(得分:1)

0cb5Unicode Character 'KANNADA LETTER VA' (U+0CB5)ವ。所以Python正确打印ವ್ಇ。

答案 2 :(得分:1)

应根据here的最新表格打印卡纳达语字符VA,VIRAMA,I。

答案 3 :(得分:0)

如果您不使用具有kannada符号的字体,您将获得框。

在我的gentoo框上安装lohit-fonts之后得到了这个:

after fonts installed