gpt4 book ai didi

.net - 将 VS MBCS 源代码表达式转换为 Unicode

转载 作者:可可西里 更新时间:2023-11-01 11:58:48 28 4
gpt4 key购买 nike

我想将我的 visual studio 项目从 MBCS 转换为 Unicode CS。但是我的源代码中有 900 个 const char 数组,有没有自动的方法来做到这一点?一行一行地做很多事情。在这样做时,我指的是将 _T("asd") 添加到“asd”。

最佳答案

没有办法解决这个问题。

除非您使用 L 告诉编译器始终将其编码为 Unicode(WCHAR/宽字符串),否则字符串文字会被解释/编码为“char *”,或者您使用 _T 宏根据“字符集”是设置为 ANSI/MBCS 还是 Unicode 对其进行编码..

您可能想通过“文件 | 高级保存选项”将源文件的编码更改为 Unicode...认为这会改变字符串文字的编码方式...但不会...它们仍然会被视为窄字符串。

可能有助于理解选项的一些链接。


最好的办法是在 Visual Studio 中编写一个可以运行的“宏”,它将遍历包含字符串文字的源代码文件集并添加 _T( )L 这些字符串的前缀。

你制作宏的复杂程度取决于你......但是应该可以让宏与字符串进行模式匹配,然后要求你确认是否为字符串文字添加前缀/包装(使用 L或 _T())...因为您不想转换源中的所有字符串...因为有些字符串需要保留为窄字符串。


另一种选择是您可以使用“查找”对话框查找字符串,然后直观地查看它们是否需要修改并手动进行修改。


最后,您可以利用“翻译工具”,它遵循“源文件中字符串的就地本地化替换,然后重新编译”本地化技术(与“将字符串提取到资源中”相反)技术......这是更常见的技术)。我知道有这样的工具,可以从源文件中提取字符串...构建这些字符串的表/数据库...然后进行翻译,然后重新插入....(事实上我写了一些东西给过去这样做)。也许您可以找到一个工具来执行此操作...但稍微修改它以在插入字符串时插入 L 前缀。

事实上,如果您不厌其烦地使您的应用程序成为 Unicode...那么我想在某个时候您将打算支持您的应用程序的不同本地化...所以您可以做的就是移动您的所有字符串到资源...资源将它们保存为 Unicode...您必须修改代码才能从资源等中加载字符串。

关于.net - 将 VS MBCS 源代码表达式转换为 Unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12263765/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com