在c ++中从unicode字符串中检测语言环境

Pal*_*avi 6 c++ unicode

我有一个字符串,我想检查内容是用英语还是印地语(我的本地语言).我发现印地文字符的unicode范围来自U0900-U097F.

查找字符串是否包含此范围内的任何字符的最简单方法是什么?

我可以使用std :: string或Glib :: ustring,具体取决于哪个方便.

Sah*_*has 2

以下是使用 Glib::ustring 的方法:

\n\n
using Glib::ustring;\n\nustring x("\xe0\xa4\xb8\xe0\xa4\xb9\xe0\xa4\xb8");    // hindi string\nbool is_hindi = false;\nfor (ustring::iterator i = x.begin(); i != x.end(); i ++)\n    if (*i >= 0x0900 && *i <= 0x097f)\n        is_hindi = true;\n
Run Code Online (Sandbox Code Playgroud)\n