我们有一组为 ASCII 字符集开发的应用程序。现在,我们正试图在冰岛安装它,但遇到了冰岛字符被搞砸的问题。
我们正在解决我们的问题,但我想知道:是否有一个很好的“指南”来编写专为 8 位字符设计的 C++ 代码,并且在提供 UTF-8 数据时可以正常工作?
我不能指望每个人都阅读整个 Unicode 标准,但如果有更容易理解的内容,我想与团队分享,这样我们就不会再遇到这些问题了。
此时重写所有应用程序以使用 wchar_t 或其他字符串表示形式是不可行的。我还会注意到这些应用程序通过网络与使用 8 位字符的服务器和设备进行通信,因此即使我们在内部使用 Unicode,我们仍然会在边界处遇到翻译问题。在大多数情况下,这些应用程序只是传递数据。除了从一个地方复制到另一个地方之外,他们不会以任何方式“处理”文本。
使用的操作系统是 Windows 和 Linux。我们使用 std::string 和普通的 C 字符串。(不要让我为任何设计决定辩护。我只是想帮助解决这个烂摊子。)
以下是建议的清单: