3

Delphi7クラスで使用されるWCFアプリケーションを作成しました。AFAIK、C#stringタイプはUTF16で、Delphiの7stringタイプはAnsiです。

問題は、C#とDelphiの文字列タイプが異なるため、すべての関数をではbytes[]なくで宣言する必要があるstringかどうかです。メソッドを使用すると問題が発生しstringsますか?

4

1 に答える 1

1

DelphiでWideStringをすべてデカールする必要があると思います。

.NET WCFサービスを作成し、Delphi 7クライアントで使用するようにしたとのことですが、クライアントも管理下にありますか?あなたの質問はそれが事実であることを暗示しているようです。私はそれが真実であると仮定して答えます。

.NET側の[OperationContract]にbyte[]タイプのパラメーターがある場合でも、すべてのデフォルトのコントラクトワイヤーシリアライザー(SOAP、JASONなど)は.NET XML形式を使用し、これは(AFAK)すべてのUTF-です。 16.16。

したがって、パラメータを明示的なバイト配列に入れることはできますが、メッセージペイロードはすべてUTF-16XMLになります。

于 2012-04-19T16:05:35.263 に答える