首页 > 其他 > 详细

ansistring-->unionstring 怪码

时间:2018-03-18 15:28:07      阅读:203      评论:0      收藏:0      [点我收藏+]

function Tpublicf.PKHisDo(inStr: string; var OutStr: string): Integer;
var
JG: PWideChar;
sinstr: PWideChar;
begin
GetMem(JG, 2048);
GetMem(sinstr, 2048);
try
sinstr := PWideChar(AnsiToUnicode(inStr));
Result := HISDO(sinstr, JG);
OutStr := Trim(UnicodeToAnsi(JG));
finally
FreeMem(JG);
// FreeMem(sinstr);
end;

end;

 


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;

ansistring-->unionstring 怪码

原文:https://www.cnblogs.com/maweiwei/p/8595335.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!