0

我有一个旧的 Delphi COM 库,它接受一个 ANSI 字符串(代码页 1252)作为参数。
生成的 .net 包装器接受此参数的字符串。然而,传入一个常规字符串并不能很好地结束。如果传入“°”字符,则问号将占据它的位置。

我怎样才能去调试呢?是 com 包装器无法识别正确的编码吗?如何传入 ANSI 字符串(我可以将其转换为字节,但 API 需要字符串,因此再次转换为 UTF16)

4

1 回答 1

0

一种解决方法是用非托管语言编写一个中间层,它将调用重定向到原始库并使用 MultiByteToWideChar 进行转换。如果您不以其他方式说服包装器,那将非常简单且是一个很好的解决方案。

于 2009-07-01T04:28:45.890 回答