base91> ( base91 -- seq )


Vocabulary
base91

Inputs
base91an object


Outputs
seqan object


Definition


:: base91> ( base91 -- seq )
f :> v! 0 :> b! 0 :> n! BV{ } clone :> accum base91 [
base91>ch v [
91 * v + v! v n shift b bitor b! v 8191 bitand 88 >
13 14 ? n + n!
[ n 7 > ]
[ b 255 bitand accum push b -8 shift b! n 8 - n! ]
do while f v!
] [ v! ] if
] each v [ b v n shift bitor 255 bitand accum push ] when
accum B{ } like ;