If, like me, you prefer keeping the printf format string as constant as possible, change:
for i in `seq 32 127`; do printf "\\$(printf %o "$i")"; done for i in `seq 32 127`; do printf "\x$(printf %x "$i")"; done # not POSIX to
for i in `seq 32 127`; do printf %b "\0$(printf %o "$i")"; done for i in `seq 32 127`; do printf %b "\x$(printf %x "$i")"; done # not POSIX (Incidentally, the POSIX standard for printf doesn't include \x among the escape sequences allowed in the format string.)
I prefer keeping the printf format string as constant as possible because of separation of concerns. The format string's concern is formatting; the arguments are for data that varies. Also a problem could occur if an expansion in the format string includes things that could be interpreted as format specifiers, as discussed here in the context of C programming. Also discussed here: ShellCheck linting rule SC2059 Don't use variables in the printf format string.