All pastes #399978 Raw Edit

encG

public text v1 · immutable
·published 2007-03-18 11:58 UTC
rendered paste body
alias gilenc { 
  write -c chr.txt
  write -c output.txt
  var %g 1,%r = $!r(1,3)
  while (%g <= 255) { 
    write chr.txt %g $($!iif( [ %r ] == 1,$r(A,Z),$r(a,z)) $!+ $!iif( [ %r ] == 2,$r(a,z),$r(A,Z)) $!+ $!iif( [ %r ] == 3,$r(0,9),$iif($r(1,2) == 1,$r(a,z),$r(A,Z))),2)
    inc %g
  }
}

alias encG { 
  gilenc
  if ($lines(input.txt) > 0) {
    var %n 1,%lines = $v1
    while (%n <= %lines) {
      var %m 1,%len = $len($read(input.txt,%n))
      while (%m <= %len) { 
        var %mid = $asc($mid($read(input.txt,%n),%m,1))
        var %tmp = $instok(%tmp,$replace(%mid,%mid,$read(chr.txt,sn,%mid)),0,32)
        if ($numtok(%tmp,32) == 10) { write output.txt %tmp | var %tmp }       
        inc %m
      }
      if (%tmp) write output.txt %tmp
      var %tmp
      write output.txt $read(chr.txt,sn,13)
      inc %n
    }
  }
  sortG
}
alias sortG { 
  var %t 1,%lines = $lines(output.txt) 
  while (%t <= %lines) { 
    var %g 1
    while ($gettok($read(output.txt,%t),%g,32)) { 
      var %tt = $instok(%tt,$v1,0,32)
      if ($numtok(%tt,32) == 10) { write tmpG.txt %tt | var %tt }
      inc %g
    }
    inc %t
  }
  if (%tt) write tmpG.txt %tt
  filter -cff tmpG.txt output.txt
  .remove tmpG.txt
}

alias solG { 
  var %s 1,%l = $lines(output.txt)
  while (%s <= %l) { 
    var %o 1,%len = $numtok($read(output.txt,%s),32)
    while (%o <= %len) {
      var %tok = $token($read(output.txt,%s),%o,32)
      var %tmp = %tmp $+ $replace(%tok,%tok,$chr($gettok($read(chr.txt,r,\d+ %tok),1,32))) $+ $chr(32)
      if (%tok == $read(chr.txt,sn,13)) { write output.txt %tmp | var %tmp }
      inc %o
    }
    inc %s
  }
}