用于C / C ++的可移植且简单的unicode字符串库?

我正在寻找一个可移植且易于使用的C / C ++字符串库,它可以帮助我使用Unicode输入/输出。 在最好的情况下,它会将其字符串以UTF-8存储在内存中,并允许我将字符串从ASCII转换为UTF-8 / UTF-16并返回。 除此之外我不需要更多(好吧,自由执照不会受到伤害)。 我已经看到C ++带有一个标头,但这似乎只适用于wchar_t ,可能是也可能不是UTF-16编码,而且我不确定这实际上有多好。

用例例如:在Windows上,unicode API需要UTF-16字符串,我需要转换ASCII或UTF-8字符串以将其传递给API。 同样适用于XML解析,它可能带有UTF-16,但我实际上只想用UTF-8内部处理(或者,就此而言,如果我内部切换到UTF-16,我需要转换为无论如何)。

到目前为止,我已经看过ICU ,这是非常巨大的。 此外,它希望使用它自己的项目文件构建,而我更喜欢一个库,其中有一个CMake项目或易于构建(类似编译所有这些.c文件,链接和好去)而不是像我的应用程序那样运送大型ICU。

你知道这样的图书馆吗? 毕竟,这似乎是一个非常基本的问题。

UTF8-CPP似乎正是您想要的。

我建议您查看GNU iconv库。