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

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

我的问题是我有一个以 utf8 格式存储在 std::string 中的缓冲区。我想将它作为 wistringstream 来提振精神。如果不将整个 std::string 转换为 std::wstring,我该怎么做呢?我想要一个从 utf8 到系统上任何 wchar_t 的只读 View 的流。

最佳答案

您可以使用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

关于C++使用宽流读取UTF8缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30237530/

相关文章:

c++ - 如何使 "#using <System.DLL>"在 Qt 中工作?

python - python 脚本中的日文字符

php - Mysql Utf-8 和 PHP

java - jsp中的流数据显示

Java:如何监视普通套接字连接(并将结果转发到内部记录器)

c++ - linux c++ 如何在特定时间间隔后调用函数

c++ - 生成用于反正切计算的查找表

java - Kotlin 中的错误 "must not be null"

c# - 特定文件类型的文件系统过滤器驱动程序

java - 使用 UTF-8 和 ASCII 检查文件时使用 Coldfusion FileExists 时出现问题