//把字符串转换成四位十六进制编码
Function MyTenToHex(SStr:String):String;
var
    i:Integer;
    TStr:String;
begin
    for i:=1 to Length(SStr) do
        TStr:=TStr+IntToHex(Ord(Sstr[i]),2);
    Result:=TStr;
end;请问如何逆向从十六进制编码得到字符串呢

解决方案 »

  1.   

    Function MyHexToTen(SStr:String):String;
    var
        i:Integer;
        TStr:String;
    begin
        for i:=1 to Length(SStr) div 2 do
           try
            TStr:=TStr+Char(Strtoint('$'+s[2*i-1]+s[2*i]));
           except
           end ;
        Result:=TStr;
    end;
      

  2.   

    比如:s:='30313233';
    result:='';
    for i:=1 to round(length(s)/2) do
    begin
      s1:=copy(s,2*i-1,2);
      result:=result+chr(strtoint('$'+s1));
    end;
      

  3.   

    首先声明,IntToHex(Ord(Str[i]),2)中的Str是字符串如'十万火急,'而不是数字字符串,
    kuangning(郎之间) ( ) 的方法得到是是返回的数字字符串
      

  4.   

    sorry netdis(我是一条虫) ( )谢谢你,你的方法是对的,其实这段代码这去年就写过了,但是忘记了,又找不到当时的程序,主要是chr(),接分吧,呵呵!
      

  5.   

    : linxu(linxu) ( ) 你敢说我的室错的?