gpt4 book ai didi

c++ - Windows 上 C++ 中的 Unicode 搜索不区分大小写

转载 作者:行者123 更新时间:2023-11-30 01:32:28 24 4
gpt4 key购买 nike

我昨天问了一个类似的问题,但认识到我需要以不同的方式重新定相。

简而言之:在 Windows 上的 C++ 中,当字符串为 unicode 格式(宽字符、wchar_t)并且我不知道字符串的语言时,如何对字符串(在另一个字符串内)进行不区分大小写的搜索。我只想知道大海捞针是否存在。针的位置与我无关。

背景:我有一个包含大量电子邮件正文的存储库。这些消息使用不同的语言(日语、德语、俄语、芬兰语;随你便)。所有数据都是 Unicode 格式,我在我的 C++ 应用程序中将它加载到宽字符串 (wchar_t)(正文已经过 MIME 解码,所以在我的调试器中我可以看到实际的日文、德文字符)。我不知道消息的语言,因为电子邮件不包含该详细信息,而且单个电子邮件正文可能包含多种语言的字符。

我正在寻找类似 wcsstr 的东西,但能够以不区分大小写的方式进行搜索。我知道在不知道文本语言的情况下不可能 100% 正确地将大写字母转换为小写字母。我想要一个在 99% 的情况下都可行的解决方案。

我正在使用带有 C++、STL 和 Boost 的 Visual Studio 2008。

最佳答案

您必须指定语言才能进行不区分大小写的比较。例如在土耳其语中,“i”不是对应于“I”的小写字母。如果似乎未指定语言,则比较是使用隐式选择的语言进行的。

关于c++ - Windows 上 C++ 中的 Unicode 搜索不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1617896/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com