【发布时间】:2018-09-14 21:02:18
【问题描述】:
我正在将一个用 Delphi 7 编写的旧项目转换为最新版本(Delphi Tokyo),在旧代码中,有这个功能可以对文本进行加扰和解密,但是当我使用在 Delphi 中编译的相同程序读取加扰文本时东京它只会产生垃圾。
这里有没有人知道为什么相同的代码会表现出来并给出不同版本的 Delphi 编译的不同结果?
这里是函数:
function TForm2.EnDeCrypt(const Value : String) : String;
var
CharIndex : integer;
begin
Result := Value;
for CharIndex := 1 to Length(Value) do
Result[CharIndex] := chr(not(ord(Value[CharIndex])));
end;
【问题讨论】:
-
在 D7
string中是 AnsiStrings,在 Delphi Tokio 中是 UnicodeString。 -
好的,谢谢!现在明白了:)
-
stackoverflow.com/q/8460037/62576 可能对您有用。 :-) 从 Delphi 2009 中的新功能开始,因为它是主要差异的开始。
-
这里的根本问题是您在对文本进行操作时出现了错误。加密对二进制数据进行操作。