我有一个 python (3.6) 代码,应该将 Unicode 字符串传递到虚幻引擎项目。虚幻引擎以 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 字符)。
我该如何解决这个问题?
- 我应该更改 python 端的编码以始终为每个字符生成 2 个字节吗?
- 我应该以某种方式将 unreal 上的结果字节数组解码为 TCHAR Unicode 吗?
最佳答案
根据您的配置,TCHAR
映射到 wchar_t
,这是一种在 Windows 上使用 UTF-16LE 单方面编码的字符类型。
您可以使用以下方式对字符串进行编码:
by = bytes(st, 'utf-16')
关于python - 如何将 Unicode 字符串转换为 TCHAR 系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52948522/