Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 更改unicode字符串中包含重音和本地字母的字母大小写_Python_String_Unicode_Case Sensitive - Fatal编程技术网

Python 更改unicode字符串中包含重音和本地字母的字母大小写

Python 更改unicode字符串中包含重音和本地字母的字母大小写,python,string,unicode,case-sensitive,Python,String,Unicode,Case Sensitive,Python字符串和unicode对象具有以下字符串大小写转换方法 upper() lower() title() 使用unicode字符串,我可以处理本地字母表中的几乎所有字符: test_str=u“asşakürtörkl” 打印测试上段() >>ŞASŞAKÜRTÖRKL 除了两封信。因为我住在土耳其,所以我有典型的 在我的本地字母表中,我们有一个字母İ,它类似于I,它们的大小写转换必须如下所示 I→ 小写字母→ ı i→ 大写字母→ İ 是的,它破坏了i-->i的ASCII转换,

Python字符串和unicode对象具有以下字符串大小写转换方法

  • upper()
  • lower()
  • title()
使用unicode字符串,我可以处理本地字母表中的几乎所有字符:

test_str=u“asşakürtörkl”
打印测试上段()
>>ŞASŞAKÜRTÖRKL
除了两封信。因为我住在土耳其,所以我有典型的

在我的本地字母表中,我们有一个字母
İ
,它类似于
I
,它们的大小写转换必须如下所示

I→ 小写字母→ ı
i→ 大写字母→ İ
是的,它破坏了
i-->i
的ASCII转换,因为
i
i
是两个独立的字母

test\u str=u“ik”
打印测试上段()
>>我错了!一定很好
测试_str=u“IK”
打印测试结构下()
>>我错了!一定很好

我怎样才能克服这个问题?有没有一种方法可以使用python内置代码正确处理大小写转换?

python目前不支持特定于语言环境的大小写折叠,也不支持Unicode SpecialCase.txt中的其他规则。如果你今天需要它,你可以从

虽然你只关心土耳其语I,但你可能更喜欢特殊情况。

你可以考虑阅读。
>>> unicode( icu.UnicodeString(u'IK').toLower(icu.Locale('TR')) )
u'ık'