谁给我一个汉字转为16进制的函数??

解决方案 »

  1.   

    试试这个:
    function strtohex(str:string):string;
    var i:integer;
    begin
      for i:=1 to length(str) do
      begin
        result:=result+inttohex(ord(str[i]),2);
      end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      showmessage(strtohex('中国'));
    end;
      

  2.   

    var
      I:Integer;
      S:string;
      HexS:string;
    begin
      S:='中华人民sss共和国';
      for I:=1 to Length(S) do
      begin
        HexS:=HexS+IntToHex(Ord(S[I]),2);
      end;
      showmessage(HexS);
    end;
      

  3.   

    那D5FDCABD这类16进制的值怎么格式化成D5 FD CA BD ?
      

  4.   

    function hextostr(hex:string):string;
    var i,j,k:integer;
    begin
      k:=length(hex) div 2;
      for i:=1 to k do
      begin
        case hex[2*i-1] of
          '0'..'9':j:=strtoint(hex[2*i-1]);
          'a'..'f':j:=ord(hex[2*i-1])-87;
          'A'..'F':j:=ord(hex[2*i-1])-55;
        end;    case hex[2*i] of
          '0'..'9':j:=j*16+strtoint(hex[2*i]);
          'a'..'f':j:=j*16+ord(hex[2*i])-87;
          'A'..'F':j:=j*16+ord(hex[2*i])-55;
        end;
        result:=result+chr(j);
      end;
    end;