我很难开始使用C++ ICU库.我试图让最简单的例子起作用,但即使这样也失败了.我只想输出一个UTF-8字符串,然后从那里开始.
这是我有的:
#include <unicode/unistr.h>
#include <unicode/ustream.h>
#include <iostream>
int main()
{
UnicodeString s = UNICODE_STRING_SIMPLE("??????");
std::cout << s << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这是输出:
$ g++ -I/sw/include -licucore -Wall -Werror -o icu_test main.cpp
$ ./icu_test
пÑивеÑ
Run Code Online (Sandbox Code Playgroud)
我的终端和字体支持UTF-8,我经常使用带UTF-8的终端.我的源代码是UTF-8.
我想也许我不知何故需要将输出流设置为UTF-8,因为ICU将字符串存储为UTF-16,但我真的不确定,我会认为ustream.h提供的运算符无论如何都会这样做.
任何帮助将不胜感激,谢谢.