如何在C或c++中获得与Java中的toLowerCase或Python中的string.lower()相同的结果

How to get same result in C or C++ same as toLowerCase in Java or string.lower() in Python?

本文关键字:中的 lower Python string 结果 toLowerCase Java c++      更新时间:2023-10-16

我需要一个C或c++函数(或库),它像Java中的String.toLowerCase()一样工作。

我知道我可以使用tolower()为英语,但我需要的是一个函数(或库)可以覆盖全球语言。(实际上,它需要覆盖下面列出的9种语言)

<标题> 语言列表<>之前荷兰英语法国德国意大利葡萄牙语俄罗斯西班牙语乌克兰之前

添加,下面第一行中的这些字符是输入,第二行是预期结果

第一行:

AÁÀÂÄĂĀÃÅÆBCĆČÇDEÉÈÊËĚĘFGHℏIÍÌÎÏJKLŁMNŃŇÑOÓÒÔÖÕØŒPQRŘSŚŠŞTŢUÚÙÛÜŪVWXYÝZŹŽΑΔΕΘΛΜΝΠΡΣΣΦΩАБВГҐДЕЁЄЖЗИЙІЇКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ

第二行:

aáàâäăāãåæbcćčçdeéèêëěęfghℏiíìîïjklłmnńňñoóòôöõøœpqrřsśšştţuúùûüūvwxyýzźžαδεθλμνπρσςφωабвгґдеёєжзийіїклмнопрстуфхцчшщъыьэюя

验证了Java toLowerCase()和Python string.lower()的结果

是否有办法在C或c++中转换为小写字母?

重要的是,这些字母是从编码为'UTF-8'的文件中读取的!

请帮帮我。我的英语不是很好,所以请尽量使用简单的英语。

我想你会在Boost库中找到你需要的东西-参见http://www.boost.org/doc/libs/1_51_0/libs/locale/doc/html/conversions.html

引用自他们的网站:

提振。语言环境为跨平台开发提供了强大的工具本地化软件——用本地语言与用户对话的软件。

提供功能:

Correct case conversion, case folding and normalization.
Collation (sorting), including support for 4 Unicode collation levels.
....

我希望你明白了。您需要的功能是

Boost::Locale::to_lower(yourUTF8String)