如果您不关心与以前的C++标准的向后兼容性,那么当前的C++ 11标准内置了Unicode支持:http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2011 /n3242.pdf
因此,在C++中进行Unicode处理的真正最佳实践是使用内置工具.然而,对于较旧的代码库,这并不总是可能的,目前标准是如此新颖.
编辑:为了澄清,C++ 11是Unicode识别的,因为它现在支持Unicode文字和Unicode字符串.但是,标准库对Unicode处理和转换的支持有限.对于您目前的需求,这可能就足够了.但是,如果您现在需要进行大量繁重的工作,那么您可能仍需要使用ICU之类的东西进行更深入的处理.有一些建议,目前的作品,包括针对不同编码之间进行文本转换更强大的支持.我的猜测(和希望)是这将成为下一份技术报告的一部分.
这是Windows编程的清单: