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;

  • 相关阅读:
    Scoket简介
    AOP
    Windows服务
    Nginx 教程 (1):基本概念
    异步编程
    并发编程
    常用排序
    序列化
    MSBuild/Projectjson
    不汇报是职场发展的绊脚石
  • 原文地址:https://www.cnblogs.com/maweiwei/p/8595335.html
Copyright © 2011-2022 走看看