怎样将2个字符串异或得到一个新串?
var
S1, S2, R: String;
I, C, C1, C2: Integer;
begin
S1 := ABCD;
S2 := 12345ABCDE;
C1 := Length(S1);
C2 := Length(S2);
C := C1;
if C < C2 then C := C2;
S1 := S1 + StringOfChar(#0, C - C1);
S1 := S1 + StringOfChar(#0, C - C2);
SetLength(R, C);
for I := 1 to C do
R[I] := Chr(Ord(S1[I]) xor Ord(S2[I]));
ShowMessage(R);
end;
————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
字符串是个数组,你分别按下标访问然后异或,行吗?
如果异或的字符串长度不大于8的话可以用下面的。
var
S1, S2, S: string;
L1, L2: Integer;
begin
S1 := ABCD;
S2 := 12345ABC;
L1 := Length(S1);
L2 := Length(S2);
if L2 > L1 then L1 := L2;
SetLength(S, L1);
PInt64(Pointer(S))^ := PInt64(S1)^ xor PInt64(S2)^;
ShowMessage(S);
end;