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;
//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;