假设我在 c# (.NET Core) 中定义了一个结构
public struct PARAMS
{
public unsafe char* pFileName;
[...]
}
和一个 C++ 结构
typedef struct
{
wchar_t* pwchFileName;
} PARAMS
给定一个 .NET 字符串,如何在 C# 中创建正确的数据结构?struct是一个P/Invoke的参数,目标操作系统是64位Linux。我无法更改任何结构或 api。从我到目前为止的研究来看,windows 和 linux 之间可能存在差异(utf-16 与 utf-32)?