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