如何从 win32 API 获取用于 GetUserName 返回的字符串的编码?我正在使用 pywin32,它返回一个 8 位字符串。在我的德语 XP 上,这个字符串显然是使用 Latin-1 编码的,但对于其他 Windows 安装可能不是这种情况。
我可以使用 GetUserNameW,但我必须自己使用 ctypes 包装它,如果有更简单的解决方案,我现在想避免使用它。
请您参考如下方法:
您可以调用GetACP找到当前的 ANSI 代码页,这是非 Unicode API 使用的代码页。您也可以使用 MultiByteToWideChar , 并传递零作为代码页(CP_ACP 在 Windows header 中定义为零)以将代码页字符串转换为 Unicode。
