主题说明了一切。一直在寻找答案,但似乎找不到。
我正在编写一个网络应用程序,它将数据存储在数据库中,并将语言文件翻译成各种字符集。在不同的时刻,文本将会被呈现。我想控制表示,例如字符串开头和结尾处的虚假空格。我还想确保一些字母是大写或小写。
我的问题是:当字符集只有一种情况时,大写/小写函数会发生什么?
编辑子问题:是否有任何意想不到的副作用需要注意?
我的猜测是,你只需找回唯一的角色即可。
编辑 - 添加描述 提出这个问题的主要原因是我正在编写一个网络应用程序,该应用程序将在偏远地区的计算机上分发和运行,几乎没有机会修复“现场”错误。它不是一个复杂的网络应用程序,但可以使用许多不同的语言字符集运行。我想在发布服务器之前先确定自己的立场。
首先Python中的
upper()
和lower()
方法可以应用于印地语、阿姆哈拉语和非字母字符集。
例如,如果存在该字符的等效大写字符,则
upper()
方法将转换小写字符。如果没有,那就没有。
或者更好地说,如果没有什么可以转换,它保持不变。
一个老问题,但可能需要进一步阐明。
大小写映射将使单院脚本(没有大小写区别的脚本)保持原样。只有两院制文字中的文本才会受到影响。
大小写映射可以是语言/区域设置不敏感的,也可以是语言/区域设置敏感的。在 Python 中,
str.lower()
和 str.upper()
方法对语言和区域设置不敏感。
一个可能的副作用是大小写映射可能是错误的,具体取决于大小写文本的语言。
值得注意的是,Unicode 定义了简单大小写映射和完整大小写映射。简单的大小写映射将是一对一的,即单个字符被大小写映射为单个字符。 完整案例映射不是一对一的。在某些情况下,单个字符会被区分为多个字符。此外,大小写映射并不对称,并且并非两院制脚本中的所有字母都有大小写对。
总会有边缘情况。但如果您的网络应用程序旨在能够处理任何语言,这可能只是一个考虑因素。对于针对特定语言集的多语言 Web 应用程序,这可能不是问题。
Python 使用完整的语言不区分大小写映射。
对于多语言网络应用程序,最好使用语言敏感的方法。如果您需要区分语言的大小写映射,您可以: