比如说我要把"张三"这个字符串转换为ASCII码,函数是什么,转换回来的函数是什么,
还有16进制和10进制之间转换函数和反函数。

解决方案 »

  1.   

    for i:=1 to length(s) do
      showMessage(IntToHex(s[i], 2));StrToInt('$ABCDEF');
      

  2.   

    var
      s: String;
      sASCII: Integer;
      I: Integer;
    begin
      s := '张三';
      sASCII := 0;
      for I := 1 to Length(s);
       sASCII := sASCII + Ord(s[I]);
        
    end;//////////////////////////////////////16->10
    var
      I : Integer;
    begin
      I := StrToInt('$' + Edit1.Text);//这里Edit1.Text是16进制值!!
    end;
    /////////////10->16
    参见函数:IntToHex
      

  3.   

    uses  IdGlobal;
    {$R *.dfm}procedure TForm1.CoolButton1Click(Sender: TObject);
     {********************************************************}
      {            Written By BlazingFire 2002.10              }
      {  This function can transfer a binary string            }
      {  to a hex string.                                      }
      {********************************************************}
      
      function BinToHexEx(BinS:String):String;
      const
        HexArray:Array[0..15] of Char
           =('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
      var
        Value:Integer;
        TmpStr:String;
      begin
        BinS:=Trim(BinS);
        for Value:=1 to Length(BinS) do
        begin
          if Not(BinS[Value] in ['0','1']) then
          begin
            Result:='Wrong binray string!';
            Exit;
          end;
        end;
        Result:='';
        while Length(BinS)>0 do
        begin
          Value:=0;
          if Length(BinS)<=4 then
          begin
            TmpStr:=BinS;
            BinS:='';
            while Length(TmpStr)<4 do TmpStr:='0'+TmpStr;
          end
          else
          begin
            TmpStr:=Copy(BinS,Length(BinS)-3,4);
            BinS:=Copy(BinS,1,Length(BinS)-4);
          end;
          if TmpStr[1]='1' then Inc(Value,8);
          if TmpStr[2]='1' then Inc(Value,4);
          if TmpStr[3]='1' then Inc(Value,2);
          if TmpStr[4]='1' then Inc(Value);
          Result:=HexArray[Value]+Result;
        end;
      end;
    begin
      ShowMessage(BinToHexEx(IntToBin(10)));
    end;
    自己看看吧,Delphi自带的IntToHex太不好用(可能是我才疏学浅吧),我以前写的了一个二进制转化为十六进制的函数。
      

  4.   

    ASCII与字符的转化
    var
      AChr,TmpChr:Char;
      ASC:Integer;
    begin
      AChr:='A';//字符
      ASC:=Ord(AChr);//字符-->ASCII
      ShowMessage(IntToStr(ASC));
      TmpChr:=Chr(ASC);//ASCII-->字符
      ShowMessage(TmpChr);
    end;