是否有任何包装库可以模仿 Windows“ANSI”函数名称(例如CreateFileA
),假设输入是 UTF-8,将它们转换为 UTF-16,调用函数的 UTF-16 版本(例如CreateFileW
),以及将程序的输出转换回 UTF-8?
它将允许 ASCII 程序几乎无缝地使用 UTF-8。
与包装 API 函数相比,将字符串包装在转换函数中更容易。然后,当下一版本的 Windows 添加更多 API 功能时,您将面向未来。
正如其他人所说,有太多的 WinAPI 函数使这样的库变得可行。但是,可以在工具链级别上破解它,或者使用http://research.microsoft.com/en-us/projects/detours/之类的东西。
有一个叫做WDL的东西,它有一些 UTF-8 包装器(win32_utf8)。我从未尝试过,所以我不知道支持有多完整。