本质上,我想检查UTF-8字符串中的每个字符都是图形化的,比如
isgraph
但对于所有Unicode字符。
这是我迄今为止所建立的,但我不知道如何把它放在一起。
我相信将UTF-8转换为UTF-32是最通用的解决方案,它将如下所示:
template<class Facet>
struct deletable_facet : Facet
{
template<class ...Args>
deletable_facet (Args&& ...args) : Facet (std::forward<Args> (args)...) {}
};
std::wstring_convert<deletable_facet<std::codecvt<char32_t, char, std::mbstate_t>>, char32_t> conv32;
std::u32string str32 = conv32.from_bytes (data)
isgraph公司
不会让我充满信心:
std::locale loc2 ("en_US.UTF-8");
std::isgraph (c, loc2)
语言
以及编码。
我的琴弦可以是英语,法语,日语,随便什么。
任何
语言?