【发布时间】:2011-02-11 21:53:28
【问题描述】:
我有一个由 cpp 客户端使用的 C# COM 服务器。
其中一个 C# 方法返回一个字符串。
在 cpp 中,返回的字符串以 Unicode (UTF-16) 表示,至少根据内存视图。
- COM 字符串总是这样吗?
- 有没有办法改用 UTF-8?
- 我看到了一些代码,其中字符串作为字节数组在 cpp 和 c# 之间传递。这有什么好处吗?
【问题讨论】:
-
这个话题已经变成了一个没有吸引力的投票盛会,答案相互矛盾。我建议您在 MSDN 库中查找 BSTR 和 SysAllocString 的定义并得出自己的结论。