> On 24.06.2012 09:33, Janis Papanagnou wrote:
> >
> >> From: [email protected]
> >>
> >> $ print $(( '_' )) $(( ':' ))
> >> 95 58
> >
> > I wasn't aware that we can get the ordinal numbers of characters that way.
> > Thanks!
> >
> > In cases where I am looking for the other way round, getting the character
> > from its ordinal number, I intuitively always first try (though to no avail)
> > printf "%c%c\n" 95 58
> > As a workaround I still resort to
> > $( echo 95P | dc )
> > $( echo 58P | dc )
> >
> > Is there a simple *builtin* way for the other way round, get the character
> > from its ordinal number? I seem to recall there was, but don't remember.
>
> typeset -i8 c=95
> printf "\\${c#*#}\n"
Thanks. But I fear this needs some explanation; e.g. why does changing the base
from 8 to 12 (or 10 or 2) make that fail (and even fail in different ways)?
Why need hte base definition at all? And what's the semantics of the '\\' in
this context; printf --man seems to not explain that? Mind to elaborate?
(Also still interested in the question why plain printf "%c" doesn't work for
that purpose.)
Thanks again.
_______________________________________________
ast-users mailing list
[email protected]
https://mailman.research.att.com/mailman/listinfo/ast-users