【发布时间】:2021-07-25 19:34:01
【问题描述】:
我有一个启用了多字节字符集的旧版 MFC 应用程序。现在的要求是也支持 UTF-8 字符集。在 Unicode 环境中更改整个应用程序是一项艰巨的任务。
我找到了支持 UTF-8 转换的 Boost.Locale 库。所以我的问题是,它可以与我现有的多字节设置一起使用吗?或任何其他方式来做到这一点,而无需将整个应用程序转换为 Unicode。因为它使用了很多我不想接触的遗留 Windows API。我的简单要求是很少有函数/方法可以生成和解析 UTF-8 字符。
【问题讨论】:
-
项目参数“多字节字符集”定义了如何扩展通用文本映射。例如,
SetWindowText在多字节项目中定义为SetWindowTextA,在 Unicode 项目中定义为SetWindowTextW。这并不妨碍您在多字节项目中使用例如 Unicode 函数,通过指定其全名,如SetWindowTextW。所以,答案是肯定的,你可以这样做。 -
@AlexF 我也在想同样的事情,但你的评论是如此清晰和措辞得当,也许它应该成为一个答案。像这样的问题很少能得到“开明”的答案,这太糟糕了,真的。
-
@AlexF- 感谢您的快速回复。我有点困惑,那么 Unicode 设置的用例是什么?如果我们可以使用 Multibyte 项目中的所有功能。
标签: boost unicode utf-8 mfcc boost-locale