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

时间:2018-10-23 11:56:07

标签: python python-3.x winapi unicode wchar

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

这是我在python端编码字符串的方式:

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

我尝试编码并传递字符串“你好” 。虚幻获取数据['H','e','l','l','o'](每个字符1个字节),并打印“效用o” ( “ He”和“ ll”作为一个Unicode字符。

我该如何解决?

  • 我应该在python端更改编码以始终为每个字符生成2个字节吗?
  • 我应该以某种方式将虚幻的结果字节数组解码为TCHAR Unicode吗?

1 个答案:

答案 0 :(得分:2)

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

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

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