我有一个函数,它得到一个wchar_t*作为输入。现在在这个函数中我必须处理代码点。
由于这个程序应该在多个平台上运行,我对wchar_t*.
我试图从wchar_t*到char32_t*via进行转换std::codecvt<char32_t, wchar_t, std::mbstate_t>。可悲的是,这种专业化似乎并不存在。
然后我想我也许可以简单地将wchar_t*用作只读输入缓冲区icu::UnicodeString,但似乎我首先必须转换为UChar*via u_strFromWCS。但话又说回来,我首先需要分配一个UChar缓冲区,其中包含正确数量的代码单元UChar。
有人能告诉我在 a 中访问代码点的最有效方法wchar_t*是什么吗?
例子:
如果我没记错的话,下面的示例应该使用每个代码点的两个代码单元。
const wchar_t *test = L"A 剝Ц B";