2 cut-slice [ hex> ] dip ;
: oct-escape ( str -- ch/f str' )
- dup 3 bound head-slice [
+ dup 3 index-or-length head-slice [
[ CHAR: 0 CHAR: 7 between? not ] find drop
] keep '[ _ length ] unless* [ f ] when-zero
[ cut-slice [ oct> ] dip ] [ f swap ] if* ;