delphi7 string 转到 PWideChar 用于连接unicode dll调用

Posted 面朝大海,春暖花开。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi7 string 转到 PWideChar 用于连接unicode dll调用相关的知识,希望对你有一定的参考价值。

function UnicodeToAnsi(s: WideString): string;
var
lpChar: PChar;
len: integer;
begin
len := Length(s) * 2;
GetMem(lpChar, len);
ZeroMemory(lpChar, len);
WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK, PWideChar(s), Length(s), lpChar, len, nil, nil);
Result := lpChar;
FreeMem(lpChar);
end;

function AnsiToUnicode(s: string): WideString;
var
lpWideChar: PWideChar;
len: Integer;
begin
len := (Length(s) + 1) * 2;
GetMem(lpWideChar, len);
ZeroMemory(lpWideChar, len);
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, PChar(s), Length(s), lpWideChar, len);
Result := lpWideChar;
FreeMem(lpWideChar);
end;

以上是关于delphi7 string 转到 PWideChar 用于连接unicode dll调用的主要内容,如果未能解决你的问题,请参考以下文章

delphi7 PChar 转为 String 弹出乱码

delphi7的代码 最下面是错误 说啥为啥 再帮忙改正下 谢谢了!

Delphi7中 string, AnsiString, Utf8String,WideString的区别分析(转)

delphi7导出excel的问题

Delphi7中如何读取或显示Bytes类型的字段

Delphi7 dll 动态调用的问题