比较两个语言字符串

Compare two language strings

本文关键字:两个 语言 字符串 比较      更新时间:2023-10-16

我们正在开发一个远程管理软件。我们需要比较从远程系统获得的数据。我们使用c++和WMI从远程系统获取数据。在处理数据时,我们可能需要从远程系统收集的数据中比较某些单词(与我们拥有的常量单词相比)。当主机和目标系统使用英语时,我们在比较字符串时没有问题。

但是当远程计算机返回非英语的数据时,我们的比较失败。我们考虑实现本地化,并保留所有可能的语言字符串。如果列表中有一个字符串失败了,我们就可以继续了。但这是一个非常繁琐的过程。

是否有任何方法来比较两种不同语言的字符串在c++或WMI…?

api . .吗?或工作区……?

请帮忙!

c#中有一些工具可以比较区域设置或特定文化的字符串,参见下面这个例子,它给出了两个德语字符串之间的比较,将"ss"和essettz字符'ß'的不同表示视为等效。

要做到这一点,你需要了解主机的语言,如果你不是在德语中工作,你是否应该将ss和'ß'视为平等,这是有争议的。

但是我不清楚你是否有这种问题。你真的希望翻译你收到的文本吗?在你的机器上你有一个字符串列表:

RED
GREEN
WHITE

,你可能会从主机收到RED或ROUGE或ROT。在这种情况下,我真的看不出你有什么选择,只能保留一个翻译表。

您应该使用std::locale及其各种特性(operator())。我想你还想使用std::wstring来代替通常的std::string来支持类似utf的字符。

我想你是在找Windows管理工具:国际支持概述。对本地化的需求,以及由此产生的对跨区域设置支持的需求,之前已经提到过。