Python和土耳其语大写

发布于 2021-01-29 17:58:13

我没有找到有关如何在 Windows 上处理此问题的良好说明,因此我在这里进行了介绍。

土耳其语ıI)和iİ)中有两个字母,它们是python错误处理的。

>>> [char for char in 'Mayıs']
['M', 'a', 'y', 'i', 's']

>>> 'ı'.upper().lower()
'i'

鉴于区域设置正确,应该如何:

>>> [char for char in 'Mayıs']
['M', 'a', 'y', 'ı', 's']

>>> 'ı'.upper().lower()
'ı'

>>> 'i'.upper()
'İ'

>>> 'ı'.upper()
'I'

我尝试locale.setlocale(locale.LC_ALL,'Turkish_Turkey.1254')甚至'ı'.encode('cp857')没有帮助。

如何让python正确处理这两个字母?

关注者
0
被浏览
39
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您应该使用PyICU

    >>> from icu import UnicodeString, Locale
    >>> tr = Locale("TR")
    >>> s = UnicodeString("i")
    >>> print(unicode(s.toUpper(tr)))
    İ
    >>> s = UnicodeString("I")
    >>> print(unicode(s.toLower(tr)))
    ı
    >>>
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看