比如输入的是4E2D56FD输出的是“中国”这两个字。

解决方案 »

  1.   

    function EncodeWideString(Value:WideString):String;
    //encode the widestring to saveable string
    //2003.03.04
    var
      I:Integer;
    begin
      Result:='';
      for I:=1 to Length(Value) do begin
        Result:=Result+IntToHex(WORD(Value[I]) shr 8,2);
        Result:=Result+IntToHex(WORD(Value[I]) and $00ff,2);
      end;
    end;function DecodeWideString(Value:String):WideString;
    //decode the string to widestring
    //2003.03.04
    var
      I:Integer;
    begin
      Result:='';
      for I:=0 to (Length(Value) div 4)-1 do begin
        Result:=Result+WChar(StrToInt('$'+Value[I*4+1]+Value[I*4+2]) shl 8
            + StrToInt('$'+Value[I*4+3]+Value[I*4+4]));
      end;
    end;