0

我需要一个String.toLowerCase()在 Java 中工作的 C 或 C++ 函数(或库)。

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

语言列表

荷兰语
英语
法语
德语
意大利语
葡萄牙语
俄语
西班牙语
乌克兰

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

第 1 行:

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

第 2 行:

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

我验证了 JavatoLowerCase()和 Python的结果string.lower() ,两者都是正确的。

有没有办法在 C 或 C++ 中翻译成小写字母?

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

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

4

1 回答 1

2

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

引用他们的网站:

Boost.Locale 为跨平台本地化软件的开发提供了强大的工具——该软件以其语言与用户对话。

提供的功能:

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

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

Boost::Locale::to_lower(yourUTF8String)
于 2013-04-18T05:23:37.707 回答