现在有一个XML文件,里面的内容,是在JAVA程序里,压缩为2进制字符串,然后再BASE64加密。我现在要用DELPHI把里面的内容读出来,现在已经通过BASE64解密了,但还需要将2进制字符串再转化成正常可读的字符串。请问该怎么做?
比如原文是ABCDEFG,JAVA程序首先转换成2进制字符串XXXXXXX,再用BASE64加密为YYYYYYY。我现在已经能把YYYYYYY解密回XXXXXXX,请问怎么再把XXXXXX还原成ABCDEFG?

解决方案 »

  1.   

    同上,你要先知道“JAVA程序首先转换成2进制字符串”
    这个算法,才能进行还原。
      

  2.   


    有生成XML的代码可以看下规则,然后按照规则进行还原
      

  3.   

    string-->2进制 时是什么编码?
      

  4.   

    Function TForm1.ConvertBinToStr(Value : string):string;
    Var tempHex : string;
        i, tempInt : integer;
    begin
      Result := '';
      if trim(Value) = '' then Exit;
      tempHex := BinToHexEachOther(Value,true);
      i := 0;
      Repeat
        begin
          i := i + 1;
          tempInt := HexCharToInt(tempHex[i]);
          i := i + 1;
          tempInt := tempInt * 16 + HexCharToInt(tempHex[i]);
          Result := Result + chr(TempInt); 
        end;
      Until i >= length(tempHex)
    end;用法:
      Edit1.Text:= ConvertBinToStr('01000001010000100100001101000100');