C++:让我的项目支持unicode

Kxs*_*Kxs 7 c++ unicode

我的C++项目目前大约有16K行代码,我承认首先完全没有考虑过unicode支持.

我所做的只是一个自定义typedef for std::stringas String并跳转到编码.

在我写的程序中,我从未真正使用过unicode.

  • 现在将项目切换到unicode有多难?这甚至是个好主意吗?

  • 我可以切换到std::wchar没有任何重大问题吗?

CB *_*ley 7

使应用程序能够识别unicode的最重要的部分可能是跟踪字符串的编码,并确保公共接口被很好地指定并且易于使用您希望使用的编码.

切换到更宽的字符(用c ++表示wchar_t)不一定是正确的解决方案.事实上,我认为这通常不是最简单的解决方案.某些应用程序可以通过指定所有字符串和接口使用UTF-8而根本不需要更改来逃脱.std::string可以很好地用于UTF-8编码的字符串.

但是,如果您需要使用非UTF-8接口解释字符串或接口中的字符,那么您将需要投入更多工作,但不了解您的应用程序,因此无法推荐单一最佳方法.