RosettaCodeData/Task/Substitution-cipher/PascalABC.NET/substitution-cipher.pas

15 lines
497 B
ObjectPascal

{$zerobasedstrings}
var key := ']kYV}(!7P$n5_0i R:?jOWtF/=-pe''AD&@r6%ZXs"v*N[#wSl9zq2^+g;LoB`aGh{3.HIu4fbK)mU8|dMET><,Qc\C1yxJ';
function Encode(s: string): string := s.Select(c -> key[c.code - 32]).JoinToString;
function Decode(s: string): string := s.Select(c -> Char(key.IndexOf(c) + 32)).JoinToString;
begin
var s := 'The quick brown fox jumps over the lazy dog, who barks VERY loudly!';
var enc := Encode(s);
Println('Encoded: ' + enc);
Println('Decoded: ' + Decode(enc))
end.