我正在寻找一个可移植且易于使用的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,我需要转换为UTF-16无论如何).
到目前为止,我已经看过ICU了,这是非常巨大的.此外,它希望使用它自己的项目文件构建,而我更喜欢一个库,其中有一个CMake项目或易于构建(类似于编译所有这些.c文件,链接和好去)而不是像我的应用程序那样运送大型ICU.
你知道这样的图书馆吗?毕竟,这似乎是一个非常基本的问题.
UTF8-CPP似乎正是您想要的.