zoukankan      html  css  js  c++  java
  • ansistring-->unionstring 怪码

    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;

  • 相关阅读:
    053-1
    多项式ADT笔记(数据结构c版)
    052-188
    052-187
    052-186
    052-185
    052-184
    052-183
    052-182
    JS中的垃圾回收(GC)
  • 原文地址:https://www.cnblogs.com/maweiwei/p/8595335.html
Copyright © 2011-2022 走看看