0

如何在环境中将 UTF-8 字符串转换为 UCS-2 字符串,反之亦然:

  • C++98

  • 允许Boost,但不允许其他库(例如,不允许 Microsoft 或 3d 派对)

到目前为止我学到了:

  • 我需要 UCS-2,而不是 UTF-16。所以utf_to_utf()单独是行不通的。

  • 在 C++98中std::codecvt_utf8不可用。

  • 也不可用: std::locale locale(" en_GB.utf8 ") (但有希望的方法?)

我不敢相信这在 C++98 中这么难?

4

1 回答 1

0

好的,我现在只是写了自己的转换函数。您可以在以下位置找到它:

https://github.com/RoelofBerg/Utf8Ucs2Converter

第一次测试效果很好。请审查和贡献。

对于未来的读者:免费许可证,只需使用它,但如果发现任何错误,请提供错误修正。

玩得开心:) Roelof Berg

于 2016-06-22T15:42:44.707 回答