我还在考虑是否应该使用 UTF-8 字符串(以 std::string 的形式实现,必要时附加 UTF-8 特定的函数)或某种 16 位字符串(以 std::wstring 实现)来完成我的(家庭)项目。这个项目是一种编程语言和环境(类似于 VB,它是两者的结合体)。
有一些愿望/限制:
- 如果能在硬件有限的计算机上运行,比如内存有限的计算机,那就太好了。
- 我希望代码能在 Windows、Mac 和(如果资源允许)Linux 上运行。
- 我将使用 wxWidgets 作为 GUI 层,但我希望与该工具包交互的代码被限制在代码库的一个角落(我将有非 GUI 可执行文件)。
- 我希望在处理用户可见文本和应用程序数据时避免使用两种不同的字符串。
目前,我正在使用 std::string,并打算仅在必要时使用 UTF-8 操作函数。这需要更少的内存,而且似乎是许多应用程序正在走向的方向。