我想实现16进文件与普通字符(包括汉字)的互相转换,请问怎样实现,我用IntToHex提示我
there is overloaded version of "IntToHex" that can be called with these arguments 不明白...
最好能给个小例子
在线等:)

解决方案 »

  1.   

    s:='我';
    ShowMessage(IntToHex(PWORD(s)^,4));
      

  2.   

    //字符串转为16进制内码串
    function GetCode(SourStr:string):string;
    var
      iStr:integer;
      TempStr:string;
    begin
      try
        for iStr:=1 to length(SourStr) do
        begin
          TempStr:=TempStr+inttohex(ord(SourStr[iStr]),2);
        end;
        result:=TempStr;
      except
        result:='转换失败!';
      end;
    end;//16进制内码串转为字符串
    function GetStr(CodeStr:string):string;
    var
      iStr:integer;
      TempStr:string;
    begin
      if (length(CodeStr) mod 2 ) <>0 then
      begin
        result:='数据长度错误!';
        exit;
      end;
      try
        for iStr:=1 to length(CodeStr) div 2 do
        begin
          TempStr:=TempStr+chr(strtoint('$'+CodeStr[iStr*2-1]+CodeStr[iStr*2]));
        end;
        result:=TempStr;
      except
        result:='非法十六进制串!';
      end;
    end;