create buffer 32000 allot {{ create bit 5 allot : extract ( $c-$a ) drop @+ bit ! @+ bit 1+ ! bit ; : render ( $c-$n ) dup '+ = [ drop 32 ] ifTrue dup 13 = [ drop 32 ] ifTrue dup 10 = [ drop 32 ] ifTrue dup '% = [ extract hex toNumber decimal ] ifTrue ; : ( $-$ ) repeat @+ 0; render ^buffer'add again ; ---reveal--- : decode ( $- ) buffer ^buffer'set drop ; }} "http%3A%2F%2Ffoo%20bar%2F" decode buffer puts