C ++使用宽流读取UTF8缓冲区

时间:2015-05-14 12:33:49

标签: c++ utf-8 inputstream utf-16

我的问题是我有一个存储在std :: string中的utf8格式的缓冲区。我希望将它作为一种提升精神的智慧流。如何在不将整个std :: string转换为std :: wstring的情况下完成。我想有一个流作为从utf8到系统上任何wchar_t的只读视图。

1 个答案:

答案 0 :(得分:1)

您可以使用u8_to_u32_iteratorwchar_t对所有角色都不够。您也可以传递int32迭代器来提升精神函数,或者只编写一个包装器,它会将int32迭代器转换为wchar_t迭代器。或者为此目的使用u32_to_u16_iteratorhttp://www.boost.org/doc/libs/1_53_0/libs/regex/doc/html/boost_regex/ref/internal_details/uni_iter.html