boost::asio 不是完全符合 UNICODE 标准吗?
Isn't boost::asio fully UNICODE compliant?
我正在编写一个c++应用程序,它使用boost::asio进行一些http操作。我选择boost::asio,假设它完全兼容unicode。但是,我无法在UNICODE中编译,因为asio的某些部分硬编码为char。
例子:
#ifndef TCHAR
#ifdef _UNICODE
#define TCHAR wchar_t
#else
#define TCHAR char
#endif
#endif
// The following lines only complile in MBCS and not in UNICODE.
boost::asio::basic_streambuf<std::allocator<TCHAR> > request;
std::basic_ostream<TCHAR, std::char_traits<TCHAR> > requestStream(&request);
boost::asio::read_until函数接受char作为分隔符。我做错什么了吗?请注意,我是unicode的新手,以前从未使用过。
boost::asio::basic_streambuf派生自std::streambuf而不是std::basic_streambuf,所以我怀疑boost::asio并不是真正的UNICODE兼容。
正确,boost::asio不兼容UNICODE。
相关文章:
- 使用CMake检测支持的C++标准
- 如何理解C++标准N3337中的expr.const.cast子句8
- "throw expression code" 1e7 >返回 d 是什么?投掷标准::overflow_error( "too big" ) : d;意味 着?
- 编译标准库类型
- C++ - Unicode Newline
- 标准是否使用多余的大括号(例如 T{{{10}}})定义列表初始化?
- 如何将unicode字符串从C++传递到delphi
- 编译器如何在使用SFINAE的函数和标准函数之间确定两者是否可行
- 铸造标准::有没有回到原来的类型
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- this_thread::sleep_for和计时时钟之间的关系是否由C++11标准指定
- 标准库类型的赋值运算符的引用限定符
- 标准是否严格定义了该程序应该如何编译?
- 如何从Windows应用程序输出到标准?
- C++20 中的严格别名规则是否允许标准 c++ unicode 字符和下划线类型之间"reinterpret
- 使用C 17处理Unicode的有效,符合标准的机制是什么
- 将生成的进程标准输出捕获为 unicode
- 对于 C++11,我是否仍然需要一个用于 Unicode 文本的非标准字符串操作库
- Unicode安全查找使用boost和标准c++
- boost::asio 不是完全符合 UNICODE 标准吗?