如何将 Unicode 字符串转换为 TCHAR 系统?

How to convert Unicode string to a TCHAR system?

我有一个 python (3.6) 代码应该将 Unicode 字符串传递给 Unreal Engine 项目。 Unreal Engine 以 TEXT 格式显示文本,我没看错是 Win-Api 的 TCHAR 数组。我看到在我的平台上 TCHAR 是 2 个字节。

下面是我在 python 端对字符串进行编码的方式:

by = bytes(st, 'utf-8')

我尝试编码并传递字符串 "Hello"。 unreal得到数据['H'、'e'、'l'、'l'、'o'](每个char 1字节),并打印 "效汬o"(它将"He"和"ll"视为单个Unicode字符)。

我该如何解决这个问题?

根据您的配置,TCHAR 映射到 wchar_t,一种在 Windows 上使用 UTF-16LE 单方面编码的字符类型。

您可以使用以下方式对字符串进行编码:

by = bytes(st, 'utf-16')