(phixonline)--> constant plain = tagset('Z','A')&tagset('z','a'), key = shuffle(plain) function encode(string s, integer decrypt=false) sequence {p,k} = iff(decrypt?{plain,key}:{key,plain}) for i=1 to length(s) do integer ki = find(s[i],p) if ki then s[i] = k[ki] end if end for return s end function string original = "A simple example.", encoded = encode(original), decoded = encode(encoded, true) printf(1,"original: %s\nencoded: %s\ndecoded: %s\n",{original,encoded,decoded})